Skip to content

A modular gRPC service to interact with the Bitcoin protocol. ₿

Notifications You must be signed in to change notification settings

LedgerHQ/bitcoin-lib-grpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bitcoin-lib-grpc

bitcoin-lib-grpc is a modular service that exposes a gRPC interface to wrap protocol-centric logic related to Bitcoin, and related forks.

It is based on btcd - a Bitcoin SDK and full node implementation written in Go.

Supported chains

  • Bitcoin
    • mainnet
    • testnet3
    • regtest
  • Litecoin
    • mainnet

Summary of gRPC methods

Full details available here.

  • ValidateAddress ➔ check whether an address is valid for the given chain parameters.

  • DeriveExtendedKey ➔ derive a child extended key based on BIP0032 derivation rules.

  • EncodeAddress ➔ serialize public key into a network-specific address.

  • GetAccountExtendedKey ➔ serialize public key-material into xPub.

  • CreateTransaction ➔ prepare a raw TX based on TX params.

  • SignTransaction ➔ combine a raw TX with DER signatures to produce the signed TX.

  • GetKeypair ➔ derive an extended public-private keypair from a seed on a given derivation.

    ⚠️ Note: for use in tests only.

  • GenerateDerSignatures ➔ sign a raw TX with a private key to produce DER signatures.

    ⚠️ Note: for use in tests only.

Architecture

Development

  1. Install mage.
  2. Build the project to produce the executable.
    $ mage build
    
  3. Run the binary.
$ ./lbs