Documentation
¶
Index ¶
Constants ¶
const BankSize = 2048
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CRC32 ¶ added in v0.2.1
type CRC32 struct { Poly uint32 // contains filtered or unexported fields }
CRC32 does the ieee crc32 polynomial check
func NewCastagnoliCRC32 ¶ added in v0.2.1
func NewCastagnoliCRC32() *CRC32
func NewIEEECRC32 ¶ added in v0.2.1
func NewIEEECRC32() *CRC32
func NewKoopmanCRC32 ¶ added in v0.2.1
func NewKoopmanCRC32() *CRC32
type CRC64 ¶ added in v0.2.1
type CRC64 struct { Poly uint64 // contains filtered or unexported fields }
CRC64 does the ieee crc64 polynomial check
func NewECMACRC64 ¶ added in v0.2.1
func NewECMACRC64() *CRC64
func NewISOCRC64 ¶ added in v0.2.1
func NewISOCRC64() *CRC64
type ECC ¶ added in v0.2.1
type ECC interface { // AddECC calculates an error-correcting code for the input // returns an output with the code appended AddECC([]byte) []byte // CheckECC verifies if the ECC is proper on the input and returns // the data with the code removed, or an error CheckECC([]byte) ([]byte, error) }
ECC is used for anything that calculates an error-correcting code
type Info ¶
type Info struct { Name string `json:"name"` Address data.Bytes `json:"address"` PubKey crypto.PubKey `json:"pubkey"` }
Info is the public information about a key
type Manager ¶
type Manager interface { Signer // Create also returns a seed phrase for cold-storage Create(name, passphrase, algo string) (Info, string, error) // Recover takes a seedphrase and loads in the private key Recover(name, passphrase, seedphrase string) (Info, error) List() (Infos, error) Get(name string) (Info, error) Update(name, oldpass, newpass string) error Delete(name, passphrase string) error }
Manager allows simple CRUD on a keystore, as an aid to signing
type NoECC ¶ added in v0.2.1
type NoECC struct{}
NoECC is a no-op placeholder, kind of useless... except for tests
type Signable ¶
type Signable interface { // SignBytes is the immutable data, which needs to be signed SignBytes() []byte // Sign will add a signature and pubkey. // // Depending on the Signable, one may be able to call this multiple times for multisig // Returns error if called with invalid data or too many times Sign(pubkey crypto.PubKey, sig crypto.Signature) error // Signers will return the public key(s) that signed if the signature // is valid, or an error if there is any issue with the signature, // including if there are no signatures Signers() ([]crypto.PubKey, error) // TxBytes returns the transaction data as well as all signatures // It should return an error if Sign was never called TxBytes() ([]byte, error) }
Signable represents any transaction we wish to send to tendermint core These methods allow us to sign arbitrary Tx with the KeyStore
type Storage ¶
type Storage interface { Put(name string, key []byte, info Info) error Get(name string) ([]byte, Info, error) List() (Infos, error) Delete(name string) error }
Storage has many implementation, based on security and sharing requirements like disk-backed, mem-backed, vault, db, etc.
type WordCodec ¶ added in v0.2.1
type WordCodec struct {
// contains filtered or unexported fields
}
func MustLoadCodec ¶ added in v0.2.1
MustLoadCodec panics if word bank is missing, only for tests
func (*WordCodec) BytesToWords ¶ added in v0.2.1
TODO: add checksum
Directories
¶
Path | Synopsis |
---|---|
package cryptostore maintains everything needed for doing public-key signing and key management in software, based on the go-crypto library from tendermint.
|
package cryptostore maintains everything needed for doing public-key signing and key management in software, based on the go-crypto library from tendermint. |
package server provides http handlers to construct a server server for key management, transaction signing, and query validation.
|
package server provides http handlers to construct a server server for key management, transaction signing, and query validation. |
storage
|
|
filestorage
package filestorage provides a secure on-disk storage of private keys and metadata.
|
package filestorage provides a secure on-disk storage of private keys and metadata. |
memstorage
package memstorage provides a simple in-memory key store designed for use in test cases, particularly to isolate them from the filesystem, concurrency, and cleanup issues.
|
package memstorage provides a simple in-memory key store designed for use in test cases, particularly to isolate them from the filesystem, concurrency, and cleanup issues. |
package tx contains generic Signable implementations that can be used by your application or tests to handle authentication needs.
|
package tx contains generic Signable implementations that can be used by your application or tests to handle authentication needs. |