https://github.com/tendermint/tendermint
Raw File
Tip revision: 0138530df202f5b8e8be1edb9c2f705e404a79cb authored by Ethan Buchman on 16 December 2018, 19:30:23 UTC
Merge pull request #3032 from tendermint/release/v0.27.3
Tip revision: 0138530
doc.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
back to top