Skip to content

Commit

Permalink
📝 Misc Improvements
Browse files Browse the repository at this point in the history
Improvements based on the Dev Portal ChatBot feedback
  • Loading branch information
cfranceschi-ledger committed Jan 14, 2025
1 parent 76e6b2f commit 2b9bf9e
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 23 deletions.
2 changes: 1 addition & 1 deletion pages/docs/device-app/beginner/vscode-extension.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; pic
3. **Build and Load Your App:**
- Within VS Code, you can either use the Ledger extension's sidebar menu or open the tasks menu with `Ctrl + Shift + B` (`Command + Shift + B` on Mac).
- To compile your app, choose the target (Ledger S, S Plus, X, Stax, Flex) and choose **Build app**
- To load your app onto a Ledger device (also known as "sideloading"), select **Load app on device** (available for all devices except Nano X)
- To load your app onto a Ledger device (also known as "sideloading") and conduct real-world testing, select **Load app on device**. Bear in mind that sideloading is not possible on Nano X.

## Tutorial #2: Functional tests

Expand Down
2 changes: 1 addition & 1 deletion pages/docs/device-app/explanation/_meta.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export default {
'device-app-role': 'What is the role of the device app?',
plugin: 'What is a plugin?',
plugin: "Ethereum Plugins and Ethereum Clone Apps: What's the Difference?",
'architecture-diagram': 'Architecture diagram',
'architecture-good-practices': 'Architecture good practices',
io: 'Application Structure and I/O',
Expand Down
24 changes: 15 additions & 9 deletions pages/docs/device-app/explanation/plugin.mdx
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
---
title: Ethereum plugins
description: Let’s start with a high-level overview of what a plugin is, how it interacts with the Ethereum app, and the steps required to write your plugin.
---
# Ethereum Plugins and Ethereum Clone Apps: What's the Difference?

# Ethereum plugins
When dealing with Ethereum-based applications, two important concepts are Ethereum Plugins and Ethereum Clone Apps. These tools serve distinct functions but work towards the same goal of enhancing user experience and security. Let's explore the differences between them.

Plugins display specific smart contracts information to the users to avoid blind signing. They work hand-in-hand with the Ethereum App.
## Ethereum Plugins

The Ethereum App handles parsing, signing, screen display etc. The only thing your plugin needs to do is:
Ethereum Plugins are specialized extensions that focus on improving the interaction with smart contracts. Their primary function is to provide users with detailed information about specific smart contracts, thereby reducing the risk of blind signing. By integrating with the Ethereum App, these plugins ensure that users have access to readable and clear contract details before they proceed with any transaction approval.

1. Extract the relevant information from the data.
2. Send the string to be displayed back to the Ethereum App.
Key responsibilities of an Ethereum Plugin include:
1. Extracting necessary details from smart contract data.
2. Formatting this information as a string and sending it back to the Ethereum App for display.

## Ethereum Clone Apps

Ethereum Clone Apps are specifically designed to facilitate the adaptation of the Ledger Ethereum App for other Ethereum-compatible Layer 2 blockchains. This process allows developers to replicate the functionality of the Ethereum App on their custom chain, leveraging the robust infrastructure of the Ethereum App to ensure seamless operation with their L2 solutions.

## Summary

While both Ethereum Plugins and Ethereum Clone Apps are integral to optimizing user interaction with blockchain applications, they cater to different aspects—plugins enhance smart contract transparency, and clone apps expand compatibility across different chains.
6 changes: 3 additions & 3 deletions pages/docs/device-app/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ The following companies have experience building Device Apps, feel free to conta
| Plugins | `C` |
| Tools (including tests) | `Python` (mostly) |

The available SDK is for Apps written in C

For the Apps written in Rust, a Rust SDK is available (only for Nano S/S+/X devices, Stax not supported yet).
<Callout type="info" emoji="ℹ️">
Even though you can develop a device app either in C or Rust, bear in mind that at the moment, the Rust SDK only has Nano S/S+/X devices support.
</Callout>

### Data formats

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Here are intent examples for different apps and operations.

![Intent examples](/device-app/stax-flex-intent-example-01.png)
|:--:|
| *Intent examples, from left to right: Bitcoin transfer, NFT transfer on Polygon,and Ethereum Permit2 message.* |
| *Intent examples, from left to right: Bitcoin transfer, NFT transfer on Polygon,and Ethereum Permit2 message.* |

Here are more intent examples from other chains:

Expand Down
4 changes: 3 additions & 1 deletion pages/docs/device-app/integration/how-to/plugin.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@ import { Callout } from 'nextra/components'

# Ethereum plugins

Follow [this documentation](https://ethereum-plugin-sdk.ledger.com/) to integrate your Ethereum Plugin.
The plugins are in the process of being replaced by [the ERC-7730 process](../../../clear-signing/erc7730). However at the moment, some special cases still require an Ethereum Plugin.

If you are already in contact with Ledger and are required to develop a plugin, follow [this documentation](https://ethereum-plugin-sdk.ledger.com/).
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,6 @@ Provided your project fulfills the [conditions](#conditions), this is how an ext
3. Ledger reviews the security audit report
4. Ledger publishes your app

<Callout type="warning" emoji="⚠️">
The security audit is mandatory for an application to be available on our production providers (accessible by
default from the LedgerLive). However it is possible to deploy without security audit on other providers, for test
purposes. However, the application will need to display a warning message when starting.
</Callout>


## Conditions

To go through an external security audit, ensure your project fulfills the following conditions:
Expand Down

0 comments on commit 2b9bf9e

Please sign in to comment.