Next month we will be attending ETHDenver for the second time. Last year, Grid+ was still in the very early stages of development and although we are not yet ready for production, we do now have an early alpha platform. Grid+ will bring two developer demo units, which allow users to leverage the security of the Lattice1 and Safe Cards in their apps.

💰 💰 Grid+ will be offering a total of $2000 (in DAI) for the three best apps built at ETHDenver that utilize the Lattice1 💰 💰

This article will show developers how to quickly get up to speed on the Lattice1 platform.

About the Lattice1

The Lattice1 is an upcoming, next-generation hardware wallet for cryptocurrency users and developers. At its core, the Lattice1 is a stateless signing device which allows applications to:

Pair over wifi via a key exchange protocol Request signatures on structured data (requiring user authorization) Create permissions that facilitate automated signing (e.g. for recurring payments)

For a more in-depth explanation, see this introductory article.

Building on the Lattice1 💻

Developers can utilize the Lattice1 for transaction signing in their applications with the GridPlus SDK (currently Javascript only). Below is a simple example:

const crypto = require('crypto');

const Sdk = require('gridplus-sdk');

const Client = Sdk.Client;

const providers = Sdk.providers; // Add a Rinkeby connection via Etherscan

const eth = new providers.Ethereum({

network: 'rinkeby'

etherscan: true,

apiKey: <your Etherscan API key>

}); // Configure client

const clientConfig = {

baseUrl: 'http://192.168.0.12',

name: 'MyApp',

privKey: crypto.randomBytes(32).toString('hex'),

providers:[ eth ]

}; // Initialize the SDK

const client = new Client(clientConfig); // Connect to and interact with the Lattice

const serial = 'MY_LATTICE';

client.connect(serial, (err, res) => {

if (err) throw new Error(err);



// Pair with the device

const secret = crypto.randomBytes(3).toString('hex'); client.pair(secret, (err) => {

if (err) throw new Error(err);



...do stuff

})

});

In this example, the developer initializes a connection to both an ETH data provider (Etherscan in this case) and the Lattice1 device. Note that it connects to the device using a serial and also a baseUrl which in this example is over an internal network.

The above is everything a developer at ETHDenver needs to connect to a demo unit and start building applications. Further examples of requests (including signature requests) can be found in the SDK documentation.

App Ideas 📱

While we are excited to see what ETHDenver developers will create, we do have some ideas for apps that might utilize the Lattice1 for additional value to the user:

Maker DAO CDP handler app or integration

Metamask integration (or a unique Chrome extension)

These are ideas to spark creativity but are not requirements to win the prizes, although we do think they are good ideas to complete during the hackathon.

Prizes 💰

Three prizes will be awarded for the best apps (judged by us) built on the Lattice1 during ETHDenver:

🔶 GRAND PRIZE: 1000 DAI 🔶

🔹 Runner up (x2): 500 DAI each 🔹

We hope to see you there! 🚀