Введение
- NEAR использует человекочитаемые идентификаторы аккаунтов формата name.near. Например, maria.near или jane.near.
- Система аккаунтов NEAR подобна системе доменных имен веб-сайтов, в том плане, что аккаунт может создать сколько угодно дочерних аккаунтов. Например, аккаунт с именем maria.near можно создать аккаунт вида sub.maria.near, а он в свою очередь может создать аккаунты first.sub.masha.near, second.sub.maria.near и т.д.
- Для создания аккаунта можно использовать NEAR Wallet (https://wallet.near.org/) (кошелек от NEAR Protocol), NEAR Faucet (кран для пользователей Ethereum и Metamask) или near-cli (https://github.com/near/near-cli) (интерфейс командной строки, предоставляющий функционал для взаимодействия с NEAR).
- В NEAR можно создать аккаунт и отправить его другу или подписчику в качестве подарка при помощи сервиса https://nearnames.com.
- Посмотреть информацию о аккаунте можно не только в кошельке, но и в NEAR Explorer (https://explorer.near.org/).
- Кроме явных аккаунтов (вида name.near), экосистема NEAR также поддерживает создание неявных аккаунтов при помощи near-cli (они выглядят подобно адресам Bitcoin или Ethereum). Подробный гайд на английском можно найти здесь (https://docs.near.org/docs/roles/integrator/implicit-accounts).
- Каждый аккаунт в системе может иметь только один смарт-контракт. Для приложений, в которых пользователи должны управлять несколькими смарт-контрактами можно использовать дочерние аккаунты. Например, contract_1.maria.near, contract_2.maria.near и т.д.
- В экосистеме NEAR существуют аккаунты для разработчиков (https://docs.near.org/docs/concepts/account#dev-accounts). Их особенность в том, что они предназначены для тестирования и отладки смарт-контрактов.
НИАР Аккунт – Ключи
- 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 (вызов методов контракта). При этом для такого ключа можно указать какие именно методы контракта он может вызывать.
Generate comment with AI 2 nL