waves_logo Docs
  • Обзор
    Обзор
  • Практические руководства
    • Получение данных из блокчейна
      Получение данных из блокчейна
    • Создание и отправка транзакций
      Создание и отправка транзакций
    • Токенизация
      Токенизация
    • Распространение токена (airdrop)
      Распространение токена (airdrop)
    • Прием платежей
      Прием платежей
    • Обмен токенов
      Обмен токенов
    • Простое голосование
      Простое голосование
    • Список как аргумент
      Список как аргумент
    Практические руководства
  • Смарт-контракты Waves
    Смарт-контракты Waves
  • dApp
    • Создание и запуск dApp
      Создание и запуск dApp
    dApp
  • Cмарт-аккаунт
    • Создание смарт-аккаунта
      Создание смарт-аккаунта
    • [en] Creating and deploying a script manually
      [en] Creating and deploying a script manually
    • [en] Video tutorials
      [en] Video tutorials
    Cмарт-аккаунт
  • Cмарт-ассет
    Cмарт-ассет
  • Инструменты разработчика
    • Waves IDE
      Waves IDE
    • Расширение для VS Code
      Расширение для VS Code
    • Surfboard
      Surfboard
    • Ride REPL
      Ride REPL
    Инструменты разработчика
  • Signer ◆
    Signer ◆
  • Waves API
    • Data Service API
      Data Service API
    • Node REST API 🡥
      Node REST API 🡥
    • Node gRPC Server 🡥
      Node gRPC Server 🡥
    • Blockchain Updates 🡥
      Blockchain Updates 🡥
    Waves API
  • Клиентские библиотеки
    • Waves C#
      • Установка SDK
        Установка SDK
      • Запуск кода
        • Отправка транзакций
          Отправка транзакций
        • Использование криптографических утилит
          Использование криптографических утилит
        • Взаимодействие с нодой
          Взаимодействие с нодой
        • Развертывание смарт-контрактов
          Развертывание смарт-контрактов
        Запуск кода
      Waves C#
    • Gowaves
      • Установка SDK
        Установка SDK
      • Запуск кода
        • Отправка транзакций
          Отправка транзакций
        • Использование криптографических утилит
          Использование криптографических утилит
        • Взаимодействие с нодой
          Взаимодействие с нодой
        • Развертывание смарт-контрактов
          Развертывание смарт-контрактов
        Запуск кода
      Gowaves
    • WavesJ
      • Установка SDK
        Установка SDK
      • Запуск кода
        • Отправка транзакций
          Отправка транзакций
        • Использование криптографических утилит
          Использование криптографических утилит
        • Взаимодействие с нодой
          Взаимодействие с нодой
        • Развертывание смарт-контрактов
          Развертывание смарт-контрактов
        Запуск кода
      WavesJ
    • Ts-lib-crypto
      • Установка SDK
        Установка SDK
      Ts-lib-crypto
    • Waves-PHP
      • Установка SDK
        Установка SDK
      Waves-PHP
    • PyWaves-CE
      • Установка SDK
        Установка SDK
      • Запуск кода
        • Отправка транзакций
          Отправка транзакций
        • Использование криптографических утилит
          Использование криптографических утилит
        • Взаимодействие с нодой
          Взаимодействие с нодой
        • Развертывание смарт-контрактов
          Развертывание смарт-контрактов
        Запуск кода
      PyWaves-CE
    • Waves-rust
      • Установка SDK
        Установка SDK
      Waves-rust
    Клиентские библиотеки
      • English
      • Русский
      On this page
        • Приватный ключ
        • Публичный ключ
        • Адрес
      waves_logo Docs

          # Использование криптографических утилит

          Вы можете создать приватный ключ, публичный ключ и адрес аккаунта.

          # Приватный ключ

          Вы можете создать приватный ключ из:

          • Сид фразы.
          • Байтов сид-фразы.
          • Случайно сгенерированных байтов сид-фарзы.
          • Массива байтов.
          • Закодированной строки.

          # Создание приватного ключа из сид-фразы

          # Необходимый импорт.
          import pywaves as pw
          
          # Укажите сид-фразу вашего кошелька.
          seed_phrase = "УКАЖИТЕ ВАШУ СИД-ФРАЗУ"
          
          # Создание приватного ключа из сид-фразы.
          address = pw.Address(seed=seed_phrase)
          privateKey = address.privateKey
          
          # Вывод результатов.
          print("Приватный ключ:", privateKey)
          

          # Создание приватного ключа из байтов сид-фразы

          # Необходимые импорты.
          import pywaves as pw
          import base58
          
          # Создание массива байтов.
          seed_bytes = bytes([1, 2, 3, 4, 5, 6, 7]) # Пример массива байтов.
          
          # Преобразование байтов в Base58-строку для использования в качестве сид-фразы.
          seed_phrase = base58.b58encode(seed_bytes).decode()
          
          # Создание приватного ключа из байтов сид-фразы.
          address = pw.Address(seed=seed_phrase)
          privateKey = address.privateKey
          
          # Вывод результатов.
          print("Приватный ключ:", privateKey)
          

          # Создание приватного ключа из случайно сгенерированных байтов сид-фразы

          # Необходимые импорты.
          import pywaves as pw
          import os
          import base58
          
          # Генерация случайных байтов сид-фразы.
          random_seed_bytes = os.urandom(32)
          
          # Преобразование байтов в Base58-строку для использования в качестве сид-фразы.
          seed_phrase = base58.b58encode(random_seed_bytes).decode()
          
          # Создание приватного ключа из случайно сгенерированных байтов сид-фразы.
          address = pw.Address(seed=seed_phrase)
          privateKey = address.privateKey
          
          # Вывод результатов.
          print("Приватный ключ:", privateKey)
          

          # Создание приватного ключа из массива байтов

          # Необходимые импорты.
          import pywaves as pw
          import base58
          
          # Создание массива байтов.
          bytes_array = bytes([56, 253, 37, 64, 2, 38, 78, 37, 158, 211, 233, 117, 14, 88, 20, 42,
          247, 21, 55, 87, 117, 248, 175, 77, 77, 157, 169, 233, 7, 116, 157, 236]) # Пример массива байтов.
          
          # Преобразование байтов в Base58-строку для использования в качестве сид-фразы.
          seed_phrase = base58.b58encode(bytes_array).decode()
          
          # Создание приватного ключа из массива байтов.
          address = pw.Address(seed=seed_phrase)
          privateKey = address.privateKey
          
          # Вывод результатов.
          print("Приватный ключ:", privateKey)
          

          # Создание приватного ключа из закодированной строки

          # Необходимый импорт.
          import pywaves as pw
          
          # Создание Base58-строки.
          base58_string = "A5u9Ugt2nG1rWfLkL7pzZrtkP8LgF2rD3g1XBjsF8ZzV" # Пример Base58-строки.
          
          # Создание приватного ключа из Base58-строки, используемой в качестве сид-фразы.
          address = pw.Address(seed=seed_phrase)
          privateKey = address.privateKey
          
          # Вывод результатов.
          print("Приватный ключ:", privateKey)
          

          # Публичный ключ

          Вы можете сгенерировать публичный ключ из адреса. Для этого добавьте следующий фрагмент кода после генерации адреса:

          # Создание публичного ключа.
          publicKey = address.publicKey 
          
          # Вывод результатов.
          print("Публичный ключ:", address.publicKey)
          

          # Адрес

          Вы можете создать адрес из приватного ключа. Для этого добавьте следующий фрагмент кода после генерации приватного ключа:

          # Укажите ссылку на ноду и ID сети.
          pw.setNode(
          	# Укажите ссылку на ноду:
          	# - Mainnet: 'https://nodes.wavesnodes.com/'
          	# - Testnet: 'https://nodes-testnet.wavesnodes.com/'
          	# - Stagenet: 'https://nodes-stagenet.wavesnodes.com/'
          	node='https://nodes-testnet.wavesnodes.com', 
          
          	# Укажите ID сети:
          	# - Mainnet: 'M'
          	# - Testnet: 'T'
          	# - Stagenet: 'S'
          	chain='T'
          )
          
          # Вывод результатов.
          print("Адрес:", address)
          
          Отправка транзакций
          Взаимодействие с нодой
          Отправка транзакций
          Взаимодействие с нодой