tendermint/crypto/doc.go

46 lines
1.1 KiB
Go

// crypto is a customized/convenience cryptography package for supporting
// Tendermint.
// It wraps select functionality of equivalent functions in the
// Go standard library, for easy usage with our libraries.
// Keys:
// All key generation functions return an instance of the PrivKey interface
// which implements methods
// AssertIsPrivKeyInner()
// Bytes() []byte
// Sign(msg []byte) Signature
// PubKey() PubKey
// Equals(PrivKey) bool
// Wrap() PrivKey
// From the above method we can:
// a) Retrieve the public key if needed
// pubKey := key.PubKey()
// For example:
// privKey, err := ed25519.GenPrivKey()
// if err != nil {
// ...
// }
// pubKey := privKey.PubKey()
// ...
// // And then you can use the private and public key
// doSomething(privKey, pubKey)
// We also provide hashing wrappers around algorithms:
// Sha256
// sum := crypto.Sha256([]byte("This is Tendermint"))
// fmt.Printf("%x\n", sum)
// Ripemd160
// sum := crypto.Ripemd160([]byte("This is consensus"))
// fmt.Printf("%x\n", sum)
package crypto
// TODO: Add more docs in here