Генерация счетов

Представление счетов

Представление счетов с помощью Namada SDK очень простое. Счет в Namada определяется его открытым ключом (ключами) и закрытым ключом (закрытыми ключами) (множественное число для мультиподписей). Открытый ключ используется для идентификации счета, а закрытый ключ - для подписания транзакций. В приведенном ниже фрагменте мы представляем счет с помощью открытого и закрытого ключей.

use namada_sdk::core::types::key::common::{PublicKey, SecretKey};
struct SimpleAccount {
    public_key: PublicKey,
    private_key: SecretKey
}

Для счета с несколькими подписями мы можем представить это в виде вектора ключей.

use namada_sdk::core::types::key::common::{PublicKey, SecretKey};
struct MultisigAccount {
    public_keys: Vec<PublicKey>,
    private_keys: Vec<SecretKey>
}

Счета с несколькими подписями, поскольку они инициализируются транзакцией на цепи, всегда будут иметь открытый ключ. Однако если пары ключей генерируются в автономном режиме, то для раскрытия открытого ключа пользователю необходимо провести транзакцию. В связи с этим полезно добавить поле revealed в структуру счета.

use namada_sdk::core::types::key::common::{PublicKey, SecretKey};
struct Account {
    public_key: PublicKey,
    private_key: SecretKey,
    revealed: bool
}

Раскрытие открытого ключа implicit счета

Для того чтобы раскрыть открытый ключ implicit счета, пользователь должен отправить транзакцию.

После раскрытия открытого ключа учетная запись может быть использована для подписания транзакций.ru

Last updated