AirGap Coin Library
airgap-coin-lib is a protocol-agnostic library that allows easy handling of the most important tasks relating cryptocurrencies and blockchains.
It implements operations such as preparing, signing and broadcasting transactions for a range of protocols.
The library consists of a shared interface for all implements protocols. This is especially useful in the context of AirGap. The following operations are specified:
- prepareTransaction - This is done on the wallet (online) side. Either a public key or extended public key is used and will fetch the required information from the network
- signTransaction - This is done on the vault (offline) side. The output of "prepareTransaction" is the input for this method (hence the output of "prepareTransaction" is transferred via URL scheme (same-device) or QR code (2-device-setup)).
- broadcastTransaction - This is done on the wallet (online) side. The output of "signTransaction" is the input for this method (hence the output of "signTransaction" is transferred via URL scheme (same-device) or QR code (2-device-setup)).
npm >= 5 NodeJS >= 8
Everything else gets installed automatically using
Clone and Run
$ git clone https://github.com/airgap-it/airgap-coin-lib.git $ cd airgap-coin-lib $ npm install $ npm test
The modular design used in this library allows you to simply add new protocols with special logic. Adding a new Bitcoin-like protocol basically means:
- select the correct network parameters (see
- set the Insight API URL to communicate with the blockchain
Adding a new Ethereum-like protocol means:
- set the correct chain id
- set the JSON RPC URL
Currently supported are:
- Generic ERC20 Tokens
- Tezos (Beta)