2.3 KiB
Tools directory
coin_info.py
Central module that extracts information from jsons in defs/
directory.
Its most important function is get_all()
.
cointool.py
Code and data generator. Has the following functions:
-
check
: runs validations. Currently, that is:- schema validity in
defs/coins/*.json
- availability of bitcore/blockbook backends
- icon format
- schema validity in
-
coins_json
: generatescoins.json
for use in python-trezor, connect and wallet. By default outputs to current directory. -
coindefs
: generatescoindefs.json
, intended future format for sending coin definitions to Trezor. -
render
: for everyfilename.ext.mako
passed (or for all found in directory), renders the Mako template with coin definitions and stores as correspondingfilename.ext
. This is used to generate code in trezor-mcu and trezor-core.
coins_details.py
Regenerates defs/coins_details.json
, which is a catalog of coins for https://trezor.io/coins.
All information is generated from coin definitions in defs/
, support info is
taken either from support.json
, or assumed (see coin_info.support_info()
).
If needed, any value can be overriden in coins_details.override.json
.
support.py
Support info management. Ensures support.json
is in the proper format. Has the
following subcommands:
-
check
: checks validity of support data. Ensures that data is valid, there are no orphaned keys insupport.json
, no known coins have missing support info, etc. -
show <keyword>
: searches coin database, matching key (coin:BTC
), name ("Bitcoin") or shortcut / ticker symbol ("BTC"). Displays all coins that match and their support info, if found. -
set <key> [symbol=value]...
: updates support info for coin key (coin:BTC
, can be found withsupport.py show
). Basicsymbol
s are:trezor1 trezor2 connect webwallet
. Anything else is considered a link name:"Electrum=https://electrum.org"
Allowedvalue
s areyes
,no
,soon
,planned
, URLs and firmware version numbers. Empty value (trezor1=
) clears the respective symbol.
requirements.txt
List of Python requiremens for all tools in pip
format. Set up your environment with
pip3 install -r requirements.txt
, or pipenv install -r requirements.txt
.
Python 3.6 or higher is required.