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