forked from irisnet/tendermint
-
Notifications
You must be signed in to change notification settings - Fork 0
/
doc.go
45 lines (34 loc) · 1.11 KB
/
doc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// 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