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

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

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

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

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

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

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

          package com.example;
          
          // Необходимый импорт.
          import com.wavesplatform.transactions.account.PrivateKey;
          
          public class CreatePrivateKeyFromSeedPhrase {
              public static void main(String[] args) {
          		// Укажите сид-фразу вашего аккаунта.
                  String seedPhrase = "УКАЖИТЕ СИД-ФРАЗУ";
          
          		// Создания приватного ключа из сид-фразы.
                  PrivateKey accountPrivateKey = PrivateKey.fromSeed(seedPhrase);
          
          		// Вывод результатов.
                  System.out.println("Приватный ключ: " + accountPrivateKey);
              }
          }
          

          # Генерация случайной сид-фразы и приватного ключа

          package com.example;
          
          // Необходимые импорты.
          import com.wavesplatform.crypto.Crypto;
          import com.wavesplatform.transactions.account.PrivateKey;
          
          public class GenerateRandomPrivateKey {
              public static void main(String[] args) {
          		// Генерация случайной сид-фразы.
                  String seed = Crypto.getRandomSeedPhrase();
          
          		// Создания приватного ключа из сид-фразы.
                  PrivateKey senderPrivateKey = PrivateKey.fromSeed(seed);
          
          		// Вывод результатов.
                  System.out.println("Сид-фраза: " + seed);
                  System.out.println("Приватный ключ: " + senderPrivateKey);
              }
          }
          

          # Генерация случайной сид-фразы с nonce = 2 и приватного ключа

          package com.example;
          
          // Необходимые импорты.
          import com.wavesplatform.crypto.Crypto;
          import com.wavesplatform.transactions.account.PrivateKey;
          
          public class GeneratePrivateKeyWithNonce2 {
              public static void main(String[] args) {
          		// Генерация случайной сид-фразы.
                  String seed = Crypto.getRandomSeedPhrase();
          
          		// Создание приватного ключа из сгенерированный сид-фразы с nonce = 2.
                  PrivateKey senderPrivateKey = PrivateKey.fromSeed(seed, 2);
          
          		// Вывод результатов.
                  System.out.println("Сид-фраза: " + seed);
                  System.out.println("Приватный ключ: " + senderPrivateKey);
              }
          }
          

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

          package com.example;
          
          // Необходимый импорт.
          import com.wavesplatform.transactions.account.PrivateKey;
          
          public class CreatePrivateKeyFromSeedBytes {
              public static void main(String[] args) {
          		// Создание массива байтов.
                  byte[] seed = new byte[] { 1, 2, 3, 4, 5, 6, 7 }; // Пример значения.
          
          		// Создание приватного ключа из байтов сид-фразы.
                  PrivateKey privateKeyFromBytes = PrivateKey.fromSeed(seed);
          
          		// Вывод результатов.
                  System.out.println("Приватный ключ: " + privateKeyFromBytes);
              }
          }
          

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

          package com.example;
          
          // Необходимые импорты.
          import com.wavesplatform.crypto.Crypto;
          import com.wavesplatform.transactions.account.PrivateKey;
          
          public class CreatePrivateKeyFromRandomSeedBytes {
              public static void main(String[] args) {
          		// Создание случайных байтов сид-фразы.
                  byte[] randomSeedBytes = Crypto.getRandomSeedBytes();
          
          		// Создание приватного ключа из случайно сгенерированных байтов сид-фразы.
                  PrivateKey senderPrivateKey = PrivateKey.fromSeed(randomSeedBytes);
          
          		// Вывод результатов.
                  System.out.println("Приватный ключ: " + senderPrivateKey);
              }
          }
          

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

          package com.example;
          
          // Необходимый импорт.
          import com.wavesplatform.transactions.account.PrivateKey;
          
          public class CreatePrivateKeyFromBytes {
              public static void main(String[] args) {
          		// Создание массива байтов.
                  byte[] bytes = {56, -3, 37, 64, 2, 38, 78, 37, -98, -45, -23, 117, 14, 88, 20, 42, -9, 21, 55, 87, 117, -8, -81, 77, 77, -99, -87, -23, 7, 116, -99, -20}; // Пример значения.
          
          		// Создание приватного ключа из массива байтов.
                  PrivateKey senderPrivateKey = PrivateKey.as(bytes);
          
          		// Вывод результатов.
                  System.out.println("Приватный ключ: " + senderPrivateKey);
              }
          }
          

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

          package com.example;
          
          // Необходимый импорт.
          import com.wavesplatform.transactions.account.PrivateKey;
          
          public class CreatePrivateKeyFromEncodedString {
              public static void main(String[] args) {
          		// Создание Base58-строки.
                  String base58String = "A5u9Ugt2nG1rWfLkL7pzZrtkP8LgF2rD3g1XBjsF8ZzV"; // Пример Base58-строки.
          
          		// Создание приватного ключа из акодированной строки.
                  PrivateKey senderPrivateKey = PrivateKey.as(base58String);
          
          		// Вывод результатов.
                  System.out.println("Приватный ключ: " + senderPrivateKey);
              }
          }
          

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

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

          1. Сгенерируйте приватный ключ.
          2. Вставьте следующий блок кода после генерации приватного ключа:
            // Создание публичного ключа из приватного.
            PublicKey publicKey = privateKey.publicKey();
            
            // Вывод публичного ключа.
            System.out.println("Публичный ключ: " + publicKey);
            

          # Адрес

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

          1. Сгенерируйте публичный ключ.

          2. Вставьте следующий блок кода после генерации публичного ключа:

            Обратите внимание: Для успешной генерации адреса аккаунта необходимы следующие импортирования:

            • import com.wavesplatform.transactions.common.ChainId;
            • import com.wavesplatform.transactions.account.Address;
            /* 
             * Укажите сеть вашего кошелька:
             * - Используйте `ChainId.MAINNET` для Mainnet.
             * - Используйте `ChainId.TESTNET` для Testnet.
             * - Используйте `ChainId.STAGENET` для StageNet.
             */
            
            Address senderAddress = Address.from(ChainId.TESTNET, senderPublicKey);
            
            System.out.println("Адрес: " + senderAddress);
            
          Отправка транзакций
          Взаимодействие с нодой
          Отправка транзакций
          Взаимодействие с нодой