Skip to content

Go implementations for various DLT crypto primitives

License

Notifications You must be signed in to change notification settings

iotaledger/iota-crypto-demo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crypto demo

This repository contains Go example implementations related to several cryptographic constructs used in various DLTs.

Packages

It contains the following general packages:

  • slip10 implements the SLIP-10 private key derivation with full BIP-32 compatibility.
  • bip32path provides utilities for BIP-32 chains.
  • bip39 implements the BIP-39 specification and mnemonic word lists.
  • bech32 implements Bech32 addresses based on the format described in BIP-173.
  • ed25519 implements Ed25519 signatures with particular validation rules around edge cases as described in ZIP-215.
  • merkle implements a simple Merkle tree hash.

All these packages are tested against the full test vectors provided in the corresponding specifications.

Examples

  • bech32 encode and decode addresses using the bech32 address scheme.
    Run the example with go run examples/bech32/main.go and use -help to see the available commands.
  • kdf shows the private and public key derivation using SLIP-10 and BIP-39 mnemonics + passphrase.
    It performs the Ed25519 key derivation following SLIP-10.
    Run with go run examples/kdf/main.go and use -help to see the available command-line flags.
  • merkle prints the Merkle tree of several random transaction hashes on the console.
    Run with go run examples/merkle/main.go and use -help to see the available command-line flags.

About

Go implementations for various DLT crypto primitives

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Go 100.0%