Создание учетных записей - 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

Что дальше?


Развертывание на свой блокчейн