github.com/pokt-network/tendermint@v0.32.11-0.20230426215212-59310158d3e9/crypto/README.md (about) 1 # crypto 2 3 crypto is the cryptographic package adapted for Tendermint's uses 4 5 ## Importing it 6 To get the interfaces, 7 `import "github.com/tendermint/tendermint/crypto"` 8 9 For any specific algorithm, use its specific module e.g. 10 `import "github.com/tendermint/tendermint/crypto/ed25519"` 11 12 If you want to decode bytes into one of the types, but don't care about the specific algorithm, use 13 `import "github.com/tendermint/tendermint/crypto/amino"` 14 15 ## Binary encoding 16 17 For Binary encoding, please refer to the [Tendermint encoding specification](https://docs.tendermint.com/master/spec/blockchain/encoding.html). 18 19 ## JSON Encoding 20 21 crypto `.Bytes()` uses Amino:binary encoding, but Amino:JSON is also supported. 22 23 ```go 24 Example Amino:JSON encodings: 25 26 ed25519.PrivKeyEd25519 - {"type":"tendermint/PrivKeyEd25519","value":"EVkqJO/jIXp3rkASXfh9YnyToYXRXhBr6g9cQVxPFnQBP/5povV4HTjvsy530kybxKHwEi85iU8YL0qQhSYVoQ=="} 27 ed25519.PubKeyEd25519 - {"type":"tendermint/PubKeyEd25519","value":"AT/+aaL1eB0477Mud9JMm8Sh8BIvOYlPGC9KkIUmFaE="} 28 sr25519.PrivKeySr25519 - {"type":"tendermint/PrivKeySr25519","value":"xtYVH8UCIqfrY8FIFc0QEpAEBShSG4NT0zlEOVSZ2w4="} 29 sr25519.PubKeySr25519 - {"type":"tendermint/PubKeySr25519","value":"8sKBLKQ/OoXMcAJVxBqz1U7TyxRFQ5cmliuHy4MrF0s="} 30 crypto.PrivKeySecp256k1 - {"type":"tendermint/PrivKeySecp256k1","value":"zx4Pnh67N+g2V+5vZbQzEyRerX9c4ccNZOVzM9RvJ0Y="} 31 crypto.PubKeySecp256k1 - {"type":"tendermint/PubKeySecp256k1","value":"A8lPKJXcNl5VHt1FK8a244K9EJuS4WX1hFBnwisi0IJx"} 32 ```