Система аккаунтов NEAR. Часть 2. Ключи

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

Другие части:

Система аккаунтов NEAR. Часть 1

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

--

--