Система аккаунтов NEAR. Часть 2. Ключи
- NEAR, как и большинство других блокчейнов, основан на криптографии с открытым ключом. Таким образом он полагается на пары ключей, в каждой из которых одному открытому ключу (public key) соответствует только один закрытый ключ (private key).
- NEAR использует открытый ключ для идентификации, а закрытый — для подписей транзакций (подтверждения контроля над аккаунтом при создании транзакций от его имени).
- В NEAR существует 3 типа ключей. Ключи доступа — для подписей транзакции от лица аккаунта, ключи валидатора — для обеспечения работы операций, связанных с валидированием сети, и ключи нод (узлов сети) — для обеспечения низкоуровневой коммуникации между узлами сети.
- Ключи могут храниться в 3-х разных хранилищах. InMemoryKeyStore — хранение в памяти, используется для временных сценариев. BrowserLocalStorageKeyStore — незашифрованное локальное хранилище браузера, используется для работы с приложениями в браузере. UnencryptedFileSystemKeyStore — незашифрованное хранилище в файловой системе, используется при работе с near-cli.
- Аккаунт может иметь несколько ключей доступа или не иметь ни одного.
- У ключей могут быть разные уровни доступа — FullAccess (полный доступ) или FunctionCall (только возможность вызывать методы контракта).
- Все ключи уникальные в пределах одного аккаунта, однако публичный ключ может быть назначен разным аккаунтам с различными уровнями доступа. От уровня доступа зависит какие действия в аккаунте можно выполнять с данным ключом.
- Для уровня доступа FullAccess доступны все 8 типов действий: CreateAccountAction (создание аккаунта), DeployContractAction (развертывание контракта), FunctionCallAction (вызов методов контракта), TransferAction (отправка токенов другому аккаунту), StakeAction (стейкинг токенов), AddKeyAction (добавление ключа аккаунту), DeleteKeyAction (удаление ключа аккаунта), DeleteAccountAction (удаление аккаунта).
- Для уровня доступа FunctionCall доступно только действие FunctionCallAction (вызов методов контракта). При этом для такого ключа можно указать какие именно методы контракта он может вызывать.

Другие части:
Система аккаунтов NEAR. Часть 1
Присоединяйтесь к нашему русскоязычному сообществу в Telegram, где вы сможете задать любые вопросы о проекте, пообщаться с командой и поучаствовать в различных мероприятиях и конкурсах.