# Использование криптографических утилит
Для работы с приватным ключом, публичным ключом и адресом добавьте блок кода в начало каждого скрипта:
// Необходимые импорты.
using WavesLabs.Node.Transactions.Common;
using WavesLabs.Node.Transactions.Utils;
using WavesLabs.Node.Transactions;
using WavesLabs.Node.Client;
# Приватный ключ
Вы можете создать приватный ключ из:
- Сид фразы.
- Случайно сгенерированной сид-фразы.
- Случайной сид-фразы с nonce = 2.
- Байтов сид-фразы.
- Случайно сгенерированных байтов сид-фарзы.
- Массива байтов.
- Закодированной строки.
# Создание приватного ключа из сид-фразы
// Создание приватного ключа из сид-фразы.
var senderPrivateKey = PrivateKey.FromSeed("УКАЖИТЕ_ВАШУ_СИД_ФРАЗУ_ЗДЕСЬ");
# Генерация случайной сид-фразы и приватного ключа
// Генерация случайно сид-фразы.
var seed = Crypto.GenerateRandomSeedPhrase();
// Создание приватного ключа из сгенерированного сид-фразы.
var senderPrivateKey = PrivateKey.FromSeed(seed);
# Генерация случайной сид-фразы с nonce = 2 и приватного ключа
// Генерация случайно сид-фразы.
var seed = Crypto.GenerateRandomSeedPhrase();
// Создание приватного ключа из сгенерированного сид-фразы с nonce = 2.
var senderPrivateKey = PrivateKey.FromSeed(seed, 2);
# Создание приватного ключа из байтов сид-фразы
// Представление сид-фразы в виде массива байтов.
byte[] seedBytes = { 21, 55, 87, 117, 8, 81, 77, 77, 99, 87, 23, 7, 116, 99, 20, 12, 4 };
// Генерация приватного ключа из байтов сид-фразы.
var senderPrivateKey = PrivateKey.FromSeed(seedBytes);
# Создание приватного ключа из случайно сгенерированных байтов сид-фразы
// Генерация случайных байтов сид-фразы.
byte[] randomSeedBytes = Crypto.GenerateRandomSeedBytes();
// Создание приватного ключа из сгенерированных байтов сид-фразы.
var senderPrivateKey = PrivateKey.FromSeed(randomSeedBytes);
# Создание приватного ключа из массива байтов
// Определение массива байтов.
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 };
// Создание приватного ключа из массива байтов.
var senderPrivateKey = PrivateKey.As(bytes);
# Создание приватного ключа из закодированной строки
// Определение строки, закодированной в Base58.
var base58PhraseEncoded = "УКАЖИТЕ_ВАШУ_ФРАЗУ_ЗАКОДИРОВАННУЮ_В_BASE58";
// Создание приватного ключа из строки, закодированной в Base58.
var senderPrivateKey = PrivateKey.As(base58PhraseEncoded);
# Публичный ключ
Вы можете создать публичный ключ из приватного ключа:
// Укажите приватный ключ отправителя.
var senderPrivateKey = "УКАЖИТЕ_ВАШ_ПРИВАТНЫЙ_КЛЮЧ_ЗДЕСЬ";
// Получите публичный ключ на основе приватного.
var senderPublicKey = senderPrivateKey.PublicKey;
# Адрес
Вы можете создать адрес на основе публичного ключа:
// Укажите публичный ключ отправителя.
var senderPublicKey = "УКАЖИТЕ_ВАШ_ПУБЛИЧНЫЙ_КЛЮЧ_ЗДЕСЬ";
/*
Получение адреса аккаунта на основе публичного ключа.
Get the account address from the public key.
Обратите внимание: Убедитесь, что выбранная сеть соответствует сети вашего аккаунта:
- `MainNet`.
- Или `TestNet`.
- Или `StageNet`.
*/
var senderAddress = Address.FromPublicKey(
ChainIds.TestNet,
senderPublicKey
);