Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/trezor/definitions


https://github.com/trezor/definitions

Last synced: 4 days ago
JSON representation

Awesome Lists containing this project

README

        

# Definitions

Repository storing external token/network definitions belonging to `Trezor`. It helps by offloading the storage of these data into a client application, so that the device itself does not need to store them (because of flash-size constraints). It also allows for more frequent updates of these definitions. Device requests these data on demand and validates the signature.

## Update procedure

`./do_update.sh` makes sure to update all definitions to their latest version. It is using data from multiple sources, e.g. `ethereum-lists` repository and `coingecko` API.

This script will automatically create a commit with these changes.

## Signing procedure

To prevent incorrect/malicious definitions from being supplied to `Trezor`, they need to be signed before using them.

Signing has the following steps:
- get the `merkle_root` value stored in `definitions-latest.json::metadata::merkle_root` manually or by running `python cli.py current-merkle-root`
- sign it with appropriate keys (outside of definitions repo)
- get the signature and provide it as an argument to `do_sign.sh`, e.g. `./do_sign.sh abcd...`
- the results should look something like this signing commit - https://github.com/trezor/definitions/commit/42d3093e83c85dade59af92a37fb3c33d3b047eb
- `definitions.tar.gz` file should also be created, containing signed definitions, ready for deployment