Использование аппаратных кошельков в Solana CLI
Для подписания транзакции требуется закрытый ключ, но хранение закрытого ключа на вашем персональном компьютере или телефоне делает его уязвимым для кражи. Добавление пароля к вашему ключу повышает безопасность, но многие люди предпочитают сделать еще один шаг и переместить свои закрытые ключи на отдельное физическое устройство, называемое аппаратным кошельком. Аппаратный кошелек — это небольшое портативное устройство, которое хранит закрытые ключи и предоставляет некоторый интерфейс для подписания транзакций.
Solana CLI имеет первоклассную поддержку аппаратных кошельков. Везде, где вы используете путь к файлу пары ключей (обозначается как <KEYPAIR>
в документации по использованию), вы можете передать URL-адрес пары ключей, который однозначно идентифицирует пару ключей в аппаратном кошельке.
Поддерживаемые аппаратные кошельки
Solana CLI поддерживает следующие аппаратные кошельки:
Укажите URL пары ключей
Solana определяет формат URL-адреса пары ключей, чтобы однозначно находить любую пару ключей Solana в аппаратном кошельке, подключенном к вашему компьютеру.
URL пары ключей имеет следующую форму, где квадратные скобки обозначают необязательные поля:
usb://<MANUFACTURER>[/<WALLET_ID>][?key=<DERIVATION_PATH>]
WALLET_ID
— это глобально уникальный ключ, используемый для устранения неоднозначности нескольких устройств.
DERVIATION_PATH используется для перехода к ключам Solana в вашем аппаратном кошельке. Путь имеет форму <ACCOUNT>[/<CHANGE>]
, где каждый ACCOUNT
и CHANGE
представляют собой положительные целые числа.
Например, полный URL-адрес для устройства Ledger может быть следующим:
usb://ledger/BsNsvfXqQTtJnagwFWdBS7FBXgnsK8VZ5CmuznN85swK?key=0/0
Все пути производных неявно включают префикс «44»/501, который указывает, что путь следует спецификациям BIP44 и что любые производные ключи являются ключами Solana (тип монеты 501). Одинарная кавычка указывает на «закаленный» вывод. Поскольку Solana использует пары ключей Ed25519, все производные защищены, поэтому добавление кавычек является необязательным и ненужным.