Skip to content

LedgerHQ/app-plugin-boilerplate

Repository files navigation

Ensure compliance with Ledger guidelines Compilation & tests

app-plugin-boilerplate

This repo is meant to be a forkable example of a plugin.

Plugins are lightweight applications that go hand-in-hand with the Ethereum Application on a Nano (S, S plus, X) and Stax devices.

They allow users to safely interact with smart contracts by parsing the transaction data and displaying its content in a human-readable way. This is done on a "per contract" basis, meaning a plugin is required for every DApp.

The code has been commented, and special "EDIT THIS" comments indicate where developers are expected to adapt the code to their own needs.

It is STRONGLY recommended to follow the plugin guide in order to better understand the flow and the context for plugins.

Ethereum SDK

Ethereum plugins need the Ethereum SDK. You can use the ETHEREUM_PLUGIN_SDK variable to point to the directory where you cloned this repository. By default, the Makefile expects it to be at the root directory of this plugin repository by the ethereum-plugin-sdk name.

You can see that this CI workflow verifies that the SDK used is either on the latest master or develop references. This ensures the code is compiled and tested on the latest version of the SDK.

Documentation

The documentation about the plugin shall be added in PLUGIN_SPECIFICATON.md. It shall includes at least the smart contracts and functions supported by the plugin.

Formatting

The C source code is expected to be formatted with clang-format 11.0.0 or higher.