Skip to content

LiskHQ/lisk-app-plugin

 
 

Repository files navigation

GitHub repo size GitHub issues GitHub closed issues Ensure compliance with Ledger guidelines Compilation & tests

Lisk App Plugin

Lisk App Plugin is a plugin for the Ethereum application specific to support lisk smart contracts. It helps parsing and displaying relevant information when signing transaction.

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.

Prerequisite

To start with, follow the steps below:

  • Clone the plugin to a new folder.

    git clone --recurse-submodules https://github.com/LiskHQ/lisk-app-plugin.git

    Then in the same folder clone the app-ethereum.

    git clone --recurse-submodules https://github.com/LedgerHQ/app-ethereum.git
  • Install Xquartz and make sure you have enabled "Allow connections from network clients" enabled under "Security" settings.

  • Install and start Docker.

  • Install and enable Ledger Dev Tools VS Code Extension.

  • To build, select a target and click on Build on the "Ledger Dev Tools" VS code extension.

  • Once build is complete, click on "Run tests" to run the tests

Documentation

The documentation about the plugin can be found in PLUGIN_SPECIFICATON.md. It includes 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 60.0%
  • Python 24.2%
  • CMake 8.5%
  • Makefile 5.6%
  • Dockerfile 1.3%
  • Shell 0.4%