How to develop an Ethereum plugin

The ERC-7730 process replaces plugins for simple cases by providing a standardized way to display transaction information. However, more specific dApps with complex smart contract interactions may still require custom plugin development to provide clear signing capabilities for their users.

If your project requires a plugin, it means you are already in contact with Ledger and have been directed to develop one. Plugin development is only undertaken when Ledger has determined that your use case cannot be adequately handled by the standard ERC-7730 process.

Plugins are lightweight applications that work hand-in-hand with the Ethereum application to parse smart contracts and provide clear transaction information to users on Ledger devices.

What’s included in the Ethereum Plugin SDK

The Ethereum Plugin SDK documentation provides comprehensive guidance for plugin development, including:

Core Components

  • Plugin architecture: Understanding how plugins work with the Ethereum application
  • Handler functions: Key functions you’ll implement (handle_init_contract, handle_provide_parameter, handle_finalize, etc.)
  • Utility functions: Pre-built helpers for common operations
  • Transaction data parsing: Tools for extracting and formatting smart contract data

Development Tools

  • Ethereum Plugin SDK: The main framework that handles the integration with the Ethereum app
  • Plugin Boilerplate: A template repository to get started quickly
  • Test Framework: Functional tests and fuzzing capabilities
  • CI Workflows: Automated testing and quality assurance

File Structure

A complete plugin includes:

  • Source code (in C)
  • Plugin specification document
  • Icons and glyphs for device display
  • Makefile and build configuration
  • Test suite and fuzzing setup

Getting started

To develop your Ethereum plugin:

  1. Follow the SDK documentation: Use the comprehensive guide at ethereum-plugin-sdk.ledger.com
  2. Fork the boilerplate: Start with the official Plugin Boilerplate template
  3. Implement your handlers: Focus on the smart contract parsing logic specific to your dApp
⚠️

Plugin development is a specialized process that requires approval and coordination with Ledger. Make sure to engage with the Ledger team before beginning development.

For detailed technical implementation guidance, complete examples, and the latest SDK updates, refer to the official Ethereum Plugin SDK documentation.

Ledger
Copyright © Ledger SAS. All rights reserved. Ledger, Ledger Stax, Ledger Nano S, Ledger Vault, Bolos are trademarks owned by Ledger SAS