Skip to content

Commit

Permalink
fix typos, dead links, update content
Browse files Browse the repository at this point in the history
  • Loading branch information
tdejoigny-ledger committed Jan 30, 2024
1 parent 65a5a5c commit c7c3ad4
Show file tree
Hide file tree
Showing 11 changed files with 32 additions and 110 deletions.
2 changes: 1 addition & 1 deletion pages/docs/device-app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Description: "There are three types of device apps: Classical device apps, DApp

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

## Classical device apps (or device apps)
## Classical device apps

This is the application that allows the users to manage their crypto-assets with their Ledger devices. It is the first step to an integration of your coin or token to the Ledger environment and to an integration of your blockchain to Ledger Live. The following sections will help you develop this type of application. For more information about the role of the Ledger device app, read [this Academy article](https://www.ledger.com/academy/hardwarewallet/what-are-ledger-applications-and-why-do-i-need-them).

Expand Down
27 changes: 0 additions & 27 deletions pages/docs/device-app/architecture.mdx
Original file line number Diff line number Diff line change
@@ -1,29 +1,2 @@
import { Cards, Card } from 'nextra/components'

#

This chapter talks about key concept of what a Personnal Security Device (PSD) is and why it is needed, the design of
such a device, and more specific high-level consideration on the Ledger PSDs: UI, BOLOS and such.

<Cards num={2}>
<Card
title="Personal Security Device"
href="./architecture/psd"
/>
<Card
title="Application architecture"
href="./architecture/app-architecture"
/>
<Card
title="BOLOS"
href="./architecture/bolos"
/>
<Card
title="UI examples and good practices"
href="./architecture/ui"
/>
<Card
title="Tips"
href="./architecture/tips"
/>
</Cards>
41 changes: 3 additions & 38 deletions pages/docs/device-app/develop.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,41 +5,6 @@ import { Cards, Card } from 'nextra/components'
This chapter contains pratical tutorials, leads on our environment tools, boilerplates, and code-level explanations on
the SDK.

Whereas the ["How to deploy an app"](./deliver) was intended to be focused on mandatory subjects with little
further specificaction, you should find in this one more detailed information (or links to detailed information) and
explanations.

<Cards>
<Card
title="Quickstart"
href="./develop/quickstart"
/>
<Card
title="Tutorials"
href="./develop/tutorials"
/>
<Card
title="Environment"
href="./develop/environment"
/>
<Card
title="Tools"
href="./develop/tools"
/>
<Card
title="SDK"
href="develop/sdk"
/>
<Card
title="Community"
href="develop/community"
/>
</Cards>

<br/>

<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/658d78ce93e6210015e72562" type="text/html" allowscriptaccess="always" allowFullScreen={true} scrolling="yes" allownetworking="all"></iframe>
</div>
</div>
Whereas the ["Deliver"](./deliver) chapter was intended to be focused on mandatory subjects with little
further specification, you should find in this one more detailed information (or links to detailed information) and
explanations.
2 changes: 1 addition & 1 deletion pages/docs/device-app/develop/environment.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ It includes the following capabilities:

Ledger provides several workflows to ease the integration of applications into the GitHub CI.

[Some of them are mandatory for an application to be deployed](../deliver/requirements/development#workflows), but
[Some of them are mandatory for an application to be deployed](../develop/requirements/development#workflows), but
the others can still be useful.

<Callout type="info">
Expand Down
25 changes: 20 additions & 5 deletions pages/docs/device-app/develop/quickstart.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { Callout } from "nextra/components";

# Get a project going and start experimenting

To get your project started quickly, we provide a complete framework made to develop device applications. This framework works on Linux, Mac and Windows. It contains:
Expand All @@ -8,10 +10,10 @@ To get your project started quickly, we provide a complete framework made to dev
- [`Docker` containers](https://github.com/LedgerHQ/ledger-app-builder/) providing up-to-date development environments
- A [Visual Studio Code extension (ledger-dev-tools)](https://marketplace.visualstudio.com/items?itemName=LedgerHQ.ledger-dev-tools)
packaging the previous tools altogether inside the VSCode IDE
- Several boilerplate applications, to be used as a modifyable bases to create your own application:
- Several boilerplate applications, to be used as a modifiable bases to create your own application:
- [A `C` Boilerplate](https://github.com/LedgerHQ/app-boilerplate)
- [A `Rust` Boilerplate](https://github.com/LedgerHQ/app-boilerplate-rust) and
- [A Plugin Boilerplate](https://github.com/LedgerHQ/app-pluginboilerplate)
- [A `Rust` Boilerplate](https://github.com/LedgerHQ/app-boilerplate-rust)
- [A Plugin Boilerplate](https://github.com/LedgerHQ/app-plugin-boilerplate)

More information on these components can be found in the [tutorials](./tutorials), [environment](./environment)
and [tools](./tools) sections.
Expand All @@ -23,7 +25,7 @@ and [tools](./tools) sections.
### Prerequisites

- [`Docker`](https://www.docker.com/)
- An X11 server
- An X server
- [Visual Studio Code](https://code.visualstudio.com/)
- [The Ledger extension in VS Code](https://marketplace.visualstudio.com/items?itemName=LedgerHQ.ledger-dev-tools)
- The (`C`) [Boilerplate](https://github.com/LedgerHQ/app-boilerplate)
Expand All @@ -41,4 +43,17 @@ and [tools](./tools) sections.
- To load it to a device, chose `Load app on device`

From there, you should have the capability to fully build, load and test an application. [Make changes in Boilerplate](./tutorials/c)
to customize it to your liking!
to customize it to your liking!

<Callout type="info">
Please note that you can do the same thing with the rust boilerplate or the plugin boilerplate.
</Callout>

</br>

<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/658d78ce93e6210015e72562" type="text/html" allowscriptaccess="always" allowFullScreen={true} scrolling="yes" allownetworking="all"></iframe>
</div>
</div>

11 changes: 0 additions & 11 deletions pages/docs/device-app/develop/requirements.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,3 @@ import { Callout, Card, Cards } from 'nextra/components'
# Requirements

Read the following coding requirements before starting.

<Cards num={2}>
<Card
title="Security"
href="/docs/device-app/develop/requirements/security"
/>
<Card
title="Development"
href="/docs/device-app/develop/requirements/development"
/>
</Cards>
2 changes: 1 addition & 1 deletion pages/docs/device-app/develop/requirements/development.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -74,5 +74,5 @@ Unit tests are highly recommended, especially for critical functions like parser
On top of that, we also encourage the following practices:

- Linting helps improving code quality and ensuring consistent coding style and resolving basic coding errors.
- Developing a fuzzer thanks to [libFuzzer](https://llvm.org/docs/LibFuzzer.html).
- Developing a fuzzer (example of its usage on boilerplate [here](https://github.com/LedgerHQ/app-boilerplate/tree/master/fuzzing)).
- Integration with the Coverity static code analysis tool helps finding security issues and software defects.
2 changes: 1 addition & 1 deletion pages/docs/device-app/develop/sdk/flags.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The following sections details how those permissions are granted. It is crucial
### Application flags

Priviledges or permissions of an application are defined within its Makefile through the `--appFlags` parameter.
This bitfield is documented [here](https://github.com/LedgerHQ/nanos-secure-sdk/blob/master/include/appflags.h).
This bitfield is documented [here](https://github.com/LedgerHQ/ledger-secure-sdk/blob/master/include/appflags.h).

Most notable flags are:

Expand Down
22 changes: 1 addition & 21 deletions pages/docs/device-app/develop/tutorials.mdx
Original file line number Diff line number Diff line change
@@ -1,24 +1,4 @@
import { Cards, Card } from 'nextra/components'

This section contains guides and links towards several of our code entrypoints, called "boilerplates", depending on your
need:


<Cards num={2}>
<Card
title="The C app boilerplate"
href="/docs/device-app/dev-environment/boilerplate"
/>
<Card
title="The plugin boileplate"
href="/docs/device-app/develop/tutorials/plugin/boilerplate-plugin"
/>
<Card
title="The Rust app boileplate"
href="/docs/device-app/dev-environment/rust"
/>
<Card
title="Cloning an existing app"
href="/docs/device-app/dev-environment/clone"
/>
</Cards>
need.
6 changes: 3 additions & 3 deletions pages/docs/device-app/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Joining Discord is not required to code your device application, but it will be

### Understand the process & meet the requirements

Ensure that you have a clear understanding of the [Process](./deliver/process) and are able to meet the [Requirements](./deliver/requirements) listed here.
Ensure that you have a clear understanding of the [Process](./deliver/process) and are able to meet the [Requirements](./develop/requirements) listed here.


### Begin Coding
Expand All @@ -39,7 +39,7 @@ Device applications are primarily developed in C using the Blockchain Open Ledge

To develop a device application, ensure that you:
- Use Linux, Mac or Windows
- Know about the [Ledger Framework](./develop/tutorials/quickstart) and all the [environment tools](./develop/tools)
- 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)


Expand Down Expand Up @@ -67,7 +67,7 @@ Ledger Personal Security Devices provide a secure and convenient way for users t
| Component | Developing language |
| ----------------------- | ------------------- |
| OS [Bolos](../bolos) | `C` |
| Applications | `C` or `Rust` (WIP) |
| Applications | `C` or `Rust` |
| Plugins | `C` |
| Tools (including tests) | `Python` (mostely) |

Expand Down
2 changes: 1 addition & 1 deletion pages/docs/device-app/introduction/community.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The following channels might interest you:
- [dev-support](https://discord.com/channels/885256081289379850/1007621744732950590) is the place if you have
a technical question for the devs. Don't forget the `Embedded app` flag if it's related with the application
development
- [embedded-app-announcements](https://discord.com/channels/885256081289379850/907623554542080070) is the channel the
- [embedded-app-updates](https://discord.com/channels/885256081289379850/907623554542080070) is the channel the
embedded app developers use to communicate about SDK releases, Boilerplate evolutions, or anything which could impact
our development environment or tools.
- [rust-sdk](https://discord.com/channels/885256081289379850/912241185677000704) is a channel dedicated to the
Expand Down

0 comments on commit c7c3ad4

Please sign in to comment.