The GridPlus SDK lets any application establish a connection and interact with a GridPlus Lattice1 device as a remote signer. With the Lattice1 as an extremely secure, connected keystore with signing capabilities, this SDK gives users the following functionality:
- Connect to a Lattice1 device over the internet
- Pair with a Lattice1 by exchanging keys and deriving a secret using an out-of-band secret displayed on the Lattice1. A pairing acts as a mechanism through which to derive shared encryption secrets for future requests.
- Get addresses from the paired device (Bitcoin or Ethereum)
- Request signatures on ETH or BTC transactions, which the Lattice1 owner must authorize on the device
The Lattice Manager provides a simple user interface for Lattice1 owners to load packs of ABI data into their Lattice1, which results in future transaction requests being parsed according to the contract function ABI.
Typically, an ABI pack is a set of contract definitions that are callable by an end user.
This means that lookup functions or in most cases admin functions are not generally included. Every additional function definition causes additional loading time and takes up additional room in the Lattice's secure data registry, so we prefer to take the minimalist approach.
The Lattice1 Connect is a small HTTP server + MQTT broker designed to communicate with Lattice1 hardware wallets over the web.
By default, communication with all Lattices is routed through GridPlus' centralized cloud infrastructure. Although there is great care that goes into encrypting and securing these communication channels, we at GridPlus want your Lattice to be 100% yours, so we want to offer Lattice1 Connect as an alternative to centralized message routing.
This module exists to bridge connections between target Lattices and web applications (generally, but not limited to, applications that use the GridPlus SDK). If you are an advanced user, you can deploy this module yourself and change your Lattice's config to hook into your deployed instance.