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. |