Создание учетных записей - dapplicaio/waxio_document_russian GitHub Wiki
Учетная запись WAX хранится в блокчейне и используется для идентификации ваших смарт-контрактов и пользователей dApp. Учетные записи блокчейна необходимы для отправки или получения действительных транзакций в блокчейн как в локальной, так и в эксплуатационной среде.
Как это работает
Существует несколько типов учетных записей, которые вам понадобятся для развертывания смарт-контрактов:
- Основная учетная запись: это ваша основная учетная запись WAX блокчейна, используемая что-бы стейкать WAX для CPU и RAM. Локально эта учетная запись моделируется с помощью пользователя системы eosio. В вашей локальной среде разработки вы можете использовать этого системного пользователя для создания различных учетных записей. В эксплуатации все WAX-аккаунты бесплатны.
- Учетные записи смарт-контрактов: для каждого из ваших смарт-контрактов потребуется отдельный аккаунт.
- Учетные записи клиентов: это учетные записи, используемые для взаимодействия с действиями вашего смарт-контракта. В вашей локальной среде разработки вы можете создавать неограниченное количество учетных записей клиентов.
В этом руководстве вы будете использовать cleos для создания новой учетной записи WAX блокчейна, которую можно использовать для развертывания смарт-контракта.
Совет: Полный список подкоманд создания и параметров учетной записи cleos см. в Справочном руководстве EOSIO по Cleos: create-account.
Прежде чем вы начнете
-
nodeos должен быть запущен
nodeos -e -p eosio \ --plugin eosio::producer_plugin \ --plugin eosio::chain_api_plugin \ --plugin eosio::http_plugin \ --access-control-allow-origin='*' \ --contracts-console \ --http-validate-host=false \ --verbose-http-errors >> nodeos.log 2>&1 &
-
Ваш кошелек должен быть открыт и разблокирован
cleos wallet open
cleos wallet unlock --password PW5KRXKVx25yjL3FvxxY9YxYxxYY9Yxx99yyXTRH8DjppKpD9tKtVz
Создание публичных/приватных ключей
У каждой учетной записи WAX должен быть хотя бы один публичный ключ. Существует два типа публичных ключей, основанных на разрешениях учетной записи:
- Owner Key: Обязательный. Это основной открытый ключ с полными разрешениями и полным контролем. В эксплуатации вы никогда не должны выдавать его для большинства транзакций. Этот ключ имеет запись личного/публичного ключа в вашем локальном кошельке.
- Active Key: Необязательный. Это вторичный ключ, который может быть изменен ключом Owner Key. Он требует дополнительную пару личного/публичного ключа, указанную в вашем локальном кошельке. В эксплуатации используйте этот ключ для голосования, отправки и получения транзакций.
Чтобы создать учетную запись для вашего смарт-контракта, вам нужно будет создать пару открытого и закрытого ключей из своего локального кошелька разработки. Вы можете сделать это с помощью команды create_key
вашего кошелька:
Примечание. Для создания ключей ваш кошелек должен быть открыт и разблокирован.
cleos wallet create_key
Консоль выведет ваш публичный ключ:
warn 2019-07-16T23:16:23.435 thread-0 wallet.cpp:223 save_wallet_file ] saving wallet to file /home/username/eosio-wallet/./default.wallet
Created new private key with a public key of: "EOS4yxqE5KYv5XaB2gj6sZTUDiGzKm42KfiRPDCeXWZUsAZZVXk1F"
Храните этот ключ в легкодоступном месте (вам понадобится этот публичный ключ на следующем шаге).
Создание учетной записи смарт-контракта
Чтобы создать WAX-аккаунт смарт-контракта, используйте команду create account
:
Параметр/Пример
creator/eosio
Имя основной учетной записи, создающей новую учетную запись. В эксплуатации это ваша учетная запись WAX.
name/waxsc1
Название новой учетной записи. Имена учетных записей должны содержать не более 13 символов и содержать только буквы [a-z] и цифры [1-5].
OwnerKey/EOS4yxqE5KYv5XaB2gj6sZTUDiGzKm42KfiRPDCeXWZUsAZZVXk1F
Публичный ключ, созданный из вашего локального кошелька разработки.
Пример
cleos create account eosio waxsc1 EOS4yxqE5KYv5XaB2gj6sZTUDiGzKm42KfiRPDCeXWZUsAZZVXk1F
cleos передает команду create account
в локальную цепочку блоков, и ваш кошелек подписывает эту транзакцию с помощью HASH.
executed transaction: 4ebdc2eabcd545c7f26679e95d729893ebd0df919850791daa79a10e4865f702 200 bytes 15013 us
# eosio <= eosio::newaccount {"creator":"eosio","name":"waxsc1","owner":{"threshold":1,"keys":[{"key":"EOS4yxqE5KYv5XaB2gj6sZTUDi...
warning: transaction executed locally, but may not be confirmed by the network yet ]
Теперь у вас должна быть учетная запись WAX блокчейна для связи с вашим смарт-контрактом.
Подтвердите свой новый аккаунт
Чтобы просмотреть информацию о вашей новой учетной записи, используйте команду get account
:
cleos get account waxcustomer
Консоль выведет данные вашей новой учетной записи. Обратите внимание, что ключи Owner и Active совпадают, потому что мы не включали активный публичный ключ при создании учетной записи.
created: 2019-07-22T20:22:16.000
permissions:
owner 1: 1 EOS4yxqE5KYv5XaB2gj6sZTUDiGzKm42KfiRPDCeXWZUsAZZVXk1F
active 1: 1 EOS4yxqE5KYv5XaB2gj6sZTUDiGzKm42KfiRPDCeXWZUsAZZVXk1F
memory:
quota: unlimited used: 2.66 KiB
net bandwidth:
used: unlimited
available: unlimited
limit: unlimited
cpu bandwidth:
used: unlimited
available: unlimited
limit: unlimited
Что дальше?
Развертывание на свой блокчейн