Skip to content

Commit

Permalink
docs: remove some remaining iframe references
Browse files Browse the repository at this point in the history
  • Loading branch information
Justkant committed May 15, 2024
1 parent 4689d5c commit fd8bed3
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 46 deletions.
40 changes: 20 additions & 20 deletions pages/docs/device-app/introduction.mdx
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
---
title: What is a device app?
Description: "The steps to code your device app and submit it for a Ledger Live integration."
Description: "The steps to code your device app and submit it for a Ledger Live integration."
---

import Zoom from 'react-medium-image-zoom'
import 'react-medium-image-zoom/dist/styles.css'
import Zoom from "react-medium-image-zoom";
import "react-medium-image-zoom/dist/styles.css";

# Introduction

## What is a device app?

<img style={{width: "250px", float:"right"}} src="/device-app/nanosplus.png"/>
<img
style={{ width: "250px", float: "right" }}
src="/device-app/nanosplus.png"
/>

There are three types of device apps: Classical device apps, DApp plugins, and utility applications.

Expand All @@ -20,7 +23,7 @@ This is the application that allows the users to manage their crypto-assets with

### DApp plugins

DApp Plugins are developed to integrate an Ethereum DApp to Ledger live. Ledger Live has a DApp browser where your DApp will be visible and usable through an iframe. Ethereum DApps can be developed for example to lend or borrow, swap, trade, pay with cryptoassets or manage your portfolio. The documentation for DApp plugins is in the [Live App section](../../../docs/discover).
DApp Plugins are developed to integrate an Ethereum DApp to Ledger live. Ledger Live has a DApp browser where your DApp will be visible. Ethereum DApps can be developed for example to lend or borrow, swap, trade, pay with cryptoassets or manage your portfolio. The documentation for DApp plugins is in the [Live App section](../../../docs/discover).

For a DApp Plugins to be able to sign transactions on a Ledger Device, one needs to develop a small, specific application relying on the Ethereum application environment. This type of application is called a **plugin**.

Expand All @@ -32,24 +35,22 @@ These applications leverage Ledger technology but are not involved in managing c

## Used languages and format


### Languages

| Component | Developing language |
| ----------------------- | ------------------- |
| OS [Bolos](./architecture/bolos) | `C` |
| Applications | `C` or `Rust` |
| Plugins | `C` |
| Tools (including tests) | `Python` (mostely) |

| Component | Developing language |
| -------------------------------- | ------------------- |
| OS [Bolos](./architecture/bolos) | `C` |
| Applications | `C` or `Rust` |
| Plugins | `C` |
| Tools (including tests) | `Python` (mostely) |

### Data formats

| Component | Format |
| --------------------------- | -------- |
| CI (GitHub Workflows) | `YAML` |
| `ledger_app.toml` manifests | `TOML` |
| App database | `JSON` |
| Component | Format |
| --------------------------- | ------ |
| CI (GitHub Workflows) | `YAML` |
| `ledger_app.toml` manifests | `TOML` |
| App database | `JSON` |

The available SDK is for Apps written in C

Expand All @@ -70,16 +71,15 @@ Ensure that you have a clear understanding of the [Process](./deliver/process) a
Device applications are primarily developed in C using the Blockchain Open Ledger Operating System (BOLOS).

To develop a device application, ensure that you:

- Use Linux, Mac or Windows
- Know about the [Ledger Framework](./develop/quickstart) and all the [environment tools](./develop/tools)
- Know how to test your application, using either a physical device or the [Speculos emulator](./develop/tools#speculos)


## Documentation version

The current version of the Device App documentation displayed on the Developer Portal is **v04_20240126**.


## Contributing

Interested in enhancing our documentation? Feel free to leave your suggestions in the comment box at the bottom of each page. We value your input.
91 changes: 66 additions & 25 deletions pages/docs/discover.mdx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
title: Turn your app into a Live App
description: If you want to embed your web app into Ledger's Live's Market place, also known as our Discover section, you've come to the right place.
description: If you want to embed your web app into Ledger's Live's Market place, also known as our Discover section, you've come to the right place.
---

# Turn your app into a Live App

If you want to embed your web app into Ledger's Live's Market place, also known as our Discover section, you've come to the right place.
If you want to embed your web app into Ledger's Live's Market place, also known as our Discover section, you've come to the right place.

## What are the Discover section and Live Apps

Ledger Live aims to be more than a keyholder— its a comprehensive platform crafted by Ledger.
Ledger Live aims to be more than a keyholder— it's a comprehensive platform crafted by Ledger.

It allows users to manage, transact, and nurture their digital assets securely. Both from Desktop and Mobile, it serves as a door to the broad crypto ecosystem. And this is where your apps and the Discover section comes into place.

Expand All @@ -20,48 +20,89 @@ Nested within the interface of Ledger Live, our Discover section offers a curate
All other applications are accessible through a **search Bar** with automatic connection to your wallet, clear signing with hardware wallet security. This service is free for users and for partners

A Live App incorporates the Wallet API, providing convenience and security for Ledger Live users when interacting with web3 projects. If you have or want to build a Web3 or Web2.5 app, then you’re eligible to turn your app into a Live App.

## DApps, Web Apps, Web3 and Web2.5 apps?

<div style={{width: "80%"}} className="center desktop">
<div style={{position: "relative", paddingBottom: "56.25%", paddingTop: 0, height: 0}}>
<iframe title="NFT Project Dev Journey" frameBorder="0" style={{position: "absolute", top: 0, left: 0, width: "100%", height: "100%"}} src="https://view.genial.ly/655cb18a21252300111c674a" type="text/html" allowscriptaccess="always" allowFullScreen={true} scrolling="yes" allownetworking="all"></iframe>
</div>
## DApps, Web Apps, Web3 and Web2.5 apps?

<div style={{ width: "80%" }} className="center desktop">
<div
style={{
position: "relative",
paddingBottom: "56.25%",
paddingTop: 0,
height: 0,
}}
>
<iframe
title="NFT Project Dev Journey"
frameBorder="0"
style={{
position: "absolute",
top: 0,
left: 0,
width: "100%",
height: "100%",
}}
src="https://view.genial.ly/655cb18a21252300111c674a"
type="text/html"
allowscriptaccess="always"
allowFullScreen={true}
scrolling="yes"
allownetworking="all"
></iframe>
</div>
</div>

- **Traditional Web Applications (Web Apps or Web2 Apps)**

They function on centralized servers under the authority of singular entities. They follow a client-server architecture where the client (user) interacts with services provided by the server.
They function on centralized servers under the authority of singular entities. They follow a client-server architecture where the client (user) interacts with services provided by the server.

- **Decentralized Applications (DApps or Web3 Apps)**

The word DApps was popularized in the context of Ethereum. The famous blockchain was the first to offer smart contract capabilities, thus laying the foundation to a new world of Apps that would use the blockchain as their decentralized backend, instead of relying on usual centralized servers. Even though the scope of DApps has today evolved to encompass much more than the Ethereum blockchain, with a lot of chains now offering Smart Contract capabilities, the official [Ethereum documentation](https://ethereum.org/en/developers/docs/dapps/#definition-of-a-dapp) offers a comprehensive explanation to the caracteristics of a Decentralized Application (or Web3 App).
The word DApps was popularized in the context of Ethereum. The famous blockchain was the first to offer smart contract capabilities, thus laying the foundation to a new world of Apps that would use the blockchain as their decentralized backend, instead of relying on usual centralized servers. Even though the scope of DApps has today evolved to encompass much more than the Ethereum blockchain, with a lot of chains now offering Smart Contract capabilities, the official [Ethereum documentation](https://ethereum.org/en/developers/docs/dapps/#definition-of-a-dapp) offers a comprehensive explanation to the caracteristics of a Decentralized Application (or Web3 App).

- **Hybrid Applications (Hybrid Apps or Web2.5 Apps)**

DApps imply working with smart contracts which doesn’t come without any risks. Before taking that step, some developers will adopt a hybrid approach by relying on Wallet Authentication for their apps without adopting smart contracts. Thus, apps that offer the possibility to authenticate with a wallet while keeping a traditional Client-Server architecture for their services fall into this category.

## Pathways to Integration: DAppBrowser vs. Wallet API

DApps imply working with smart contracts which doesn't come without any risks. Before taking that step, some developers will adopt a hybrid approach by relying on Wallet Authentication for their apps without adopting smart contracts. Thus, apps that offer the possibility to authenticate with a wallet while keeping a traditional Client-Server architecture for their services fall into this category.

## Pathways to Integration: DAppBrowser vs. Wallet API

There are two options when it comes to integrating into Ledger Live

- **The dAppBrowser (EVM Only for now)**

This one is only available to EVM based dApps for now. By crafting a manifest, directing it to the DAppBrowser, and incorporating the Iframe Provider in their app, developers can quickly add their application to Ledger Live.
This one is only available to EVM based dApps for now. By crafting a manifest for the DAppBrowser, developers can quickly add their application to Ledger Live.

- **The Wallet API**

The Wallet API pathway is more code-intensive, requiring a deeper engagement from developers. However, it grants a more granular control over the core wallet features within Ledger Live. A thorough understanding of the Wallet API can be gleaned from the official documentation.


<div style={{width: "100%"}} className="center">
<div style={{position: "relative", paddingBottom: "56.25%", paddingTop: 0, height: 0}}>
<iframe title="Live App Structure" frameBorder="0" style={{position: "absolute", top: 0, left: 0, width: "100%", height: "100%"}} src="https://view.genial.ly/65241621e3a92300127e47e8" type="text/html" allowscriptaccess="always" allowFullScreen={true} scrolling="yes" allownetworking="all"></iframe>
</div>
The Wallet API pathway is more code-intensive, requiring a deeper engagement from developers. However, it grants a more granular control over the core wallet features within Ledger Live. A thorough understanding of the Wallet API can be gleaned from the official documentation.

<div style={{ width: "100%" }} className="center">
<div
style={{
position: "relative",
paddingBottom: "56.25%",
paddingTop: 0,
height: 0,
}}
>
<iframe
title="Live App Structure"
frameBorder="0"
style={{
position: "absolute",
top: 0,
left: 0,
width: "100%",
height: "100%",
}}
src="https://view.genial.ly/65241621e3a92300127e47e8"
type="text/html"
allowscriptaccess="always"
allowFullScreen={true}
scrolling="yes"
allownetworking="all"
></iframe>
</div>
</div>

The path you chose is yours to decide, we'll provide you guidelines for both roads.


2 changes: 1 addition & 1 deletion pages/docs/discover/dapp-browser/dapp-customisation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The DApp can submit a tx with or without gas fee set. If it is set, Ledger Live

- Please make sure basic cases are handled.

For instance, check what happens when you click on the **log out** or **disconnect** button in your Dapp. The user may be automatically logged back in Ledger Live iframe provider or redirected to the standard list of providers (Metamask, connect wallet, and such…).
For instance, check what happens when you click on the **log out** or **disconnect** button in your Dapp. The user may be automatically logged back in Ledger Live injected provider or redirected to the standard list of providers (Metamask, connect wallet, and such…).

- We currently supports Ethereum mainnet, BSC, arbitrum, optimism, base, fantom and Polygon chains. We also support the Sepolia testnet: to use it, make sur you have a Sepolia testnet account available in Ledger Live. (To enable testnet networks, head over to Settings -> Experimental features and turn on the Developer mode setting.)

Expand Down

0 comments on commit fd8bed3

Please sign in to comment.