# Использование криптографических утилит
Вы можете создать приватный ключ, публичный ключ и адрес аккаунта.
# Приватный ключ
Вы можете создать приватный ключ из:
- Сид фразы.
- Случайно сгенерированной сид-фразы.
- Случайной сид-фразы с 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);
}
}
# Публичный ключ
Вы можете создать публичный ключ из приватного ключа:
- Сгенерируйте приватный ключ.
- Вставьте следующий блок кода после генерации приватного ключа:
// Создание публичного ключа из приватного. PublicKey publicKey = privateKey.publicKey(); // Вывод публичного ключа. System.out.println("Публичный ключ: " + publicKey);
# Адрес
Вы можете создать адрес из публичного ключа:
Вставьте следующий блок кода после генерации публичного ключа:
Обратите внимание: Для успешной генерации адреса аккаунта необходимы следующие импортирования:
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);