Skip to content

CLI-кошелёк

Исполняемый файл cli_wallet предоставляет интерактивный интерфейс командной строки для управления аккаунтами, подписи и трансляции транзакций, а также запросов к блокчейну.


Подключение

bash
cli_wallet --server-rpc-endpoint="ws://127.0.0.1:8091"

При первом запуске установите пароль:

new >>> set_password "yourpassword"

Затем разблокируйте:

locked >>> unlock "yourpassword"

Управление кошельком

КомандаОписание
is_newВозвращает true, если пароль ещё не установлен
is_lockedВозвращает true, если кошелёк заблокирован
lockЗаблокировать кошелёк
unlock "password"Разблокировать кошелёк
set_password "password"Установить или изменить пароль
load_wallet_file "file.json"Загрузить файл кошелька ("" = перезагрузить текущий)
save_wallet_file "file.json"Сохранить кошелёк в файл
set_transaction_expiration 60Установить TTL транзакции в секундах
quitВыйти из кошелька
helpСписок всех команд
gethelp "command"Подробная справка по одной команде

Управление ключами

КомандаОписание
import_key "5K..."Импортировать приватный ключ WIF
suggest_brain_keyСгенерировать мнемонический ключ с публичной/приватной парой
list_keysСписок всех приватных ключей (WIF) в кошельке
get_private_key "VIZpubkey..."Получить WIF для известного публичного ключа
get_private_key_from_password "account" "role" "password"Получить ключ из учётных данных
normalize_brain_key "words..."Нормализовать строку мнемонического ключа

Запросы

КомандаОписание
infoТекущее состояние блокчейна
database_infoСтатистика объектов базы данных
get_block 1000000Данные блока
get_ops_in_block 1000000 falseОперации в блоке (true = только виртуальные)
get_active_validatorsАктивный набор валидаторов
get_account "alice"Объект аккаунта
list_accounts "" 100Постраничный список аккаунтов
list_my_accountsАккаунты с ключами в кошельке
get_account_history "alice" -1 100Последние 100 операций alice
get_transaction "txid..."Транзакция по ID
get_master_history "alice"История смены мастер-ключей
get_withdraw_routes "alice" "all"Маршруты вывода ("incoming", "outgoing", "all")
get_proposed_transactions "alice" 0 100Предложения, требующие одобрения alice

Операции с аккаунтами

КомандаОписание
create_account "creator" "1.000 VIZ" "10.000000 SHARES" "newaccount" "{}" trueСоздать аккаунт с автогенерацией ключей
create_account_with_keys "creator" "1.000 VIZ" "10.000000 SHARES" "newaccount" "{}" "VIZmaster..." "VIZactive..." "VIZregular..." "VIZmemo..." trueСоздать аккаунт с заданными ключами
update_account "account" "{}" "VIZm..." "VIZa..." "VIZr..." "VIZmemo..." trueОбновить все ключи и метаданные
update_account_auth_key "account" "active" "VIZnewkey..." 1 trueДобавить ключ к авторизации (вес 0 = удалить)
update_account_auth_account "account" "active" "guardian" 1 trueДобавить аккаунт к авторизации
update_account_auth_threshold "account" "active" 2 trueУстановить порог веса авторизации
update_account_meta "account" "{\"key\":\"value\"}" trueОбновить JSON-метаданные (regular-авторизация)
update_account_memo_key "account" "VIZnewmemo..." trueОбновить ключ memo
delegate_vesting_shares "alice" "bob" "100.000000 SHARES" trueДелегировать SHARES (0 = отменить)

Перевод и вестинг

КомандаОписание
transfer "alice" "bob" "10.000 VIZ" "memo" trueПеревести VIZ (префикс # = зашифрованное memo)
transfer_to_vesting "alice" "alice" "100.000 VIZ" trueЗастейкать VIZ как SHARES
withdraw_vesting "alice" "100.000000 SHARES" trueНачать анстейкинг (0 = отменить)
set_withdraw_vesting_route "alice" "bob" 5000 false trueНаправить 50% выводов к bob как VIZ

Операции с валидаторами

КомандаОписание
list_validators "" 100Список валидаторов
get_validator "validatorname"Объект валидатора
update_validator "myvalidator" "https://url" "VIZsigningkey..." trueЗарегистрировать/обновить валидатора
update_chain_properties "myvalidator" {...} trueПроголосовать за параметры цепочки (формат init)
versioned_update_chain_properties "myvalidator" {...} trueПроголосовать за версионированные параметры (формат hf9)
vote_for_validator "alice" "myvalidator" true trueПроголосовать за валидатора (false = снять голос)
set_voting_proxy "alice" "proxy" trueУстановить прокси голосования ("" = удалить)

Операции эскроу

КомандаОписание
escrow_transfer "alice" "bob" "agent" 1 "100.000 VIZ" "1.000 VIZ" "2024-06-01T00:00:00" "2024-07-01T00:00:00" "{}" trueСоздать эскроу
escrow_approve "alice" "bob" "agent" "bob" 1 true trueОдобрить эскроу (who = "bob" или "agent")
escrow_dispute "alice" "bob" "agent" "alice" 1 trueОткрыть спор (who = "alice" или "bob")
escrow_release "alice" "bob" "agent" "agent" "bob" 1 "100.000 VIZ" trueВыпустить средства

Операции восстановления

КомандаОписание
request_account_recovery "recovery" "victim" {"weight_threshold":1,...} trueЗапросить восстановление как аккаунт восстановления
recover_account "victim" {"recent_master_auth"} {"new_master_auth"} trueПодтвердить восстановление
change_recovery_account "account" "new_recovery" trueИзменить аккаунт восстановления (задержка 30 дней)

Операции комитета

КомандаОписание
committee_worker_create_request "creator" "https://url" "worker" "100.000 VIZ" "500.000 VIZ" 604800 trueСоздать заявку на финансирование
committee_worker_cancel_request "creator" 123 trueОтменить заявку
committee_vote_request "voter" 123 10000 trueГолосовать (+10000 = полная поддержка, -10000 = полное несогласие, 0 = снять)

Операции инвайтов

КомандаОписание
create_invite "creator" "10.000 VIZ" "VIZinvitekey..." trueСоздать инвайт
claim_invite_balance "initiator" "receiver" "5Kinvitesecret..." trueПолучить баланс инвайта
invite_registration "initiator" "newaccount" "5Kinvitesecret..." "VIZnewaccountkey..." trueСоздать аккаунт из инвайта
use_invite_balance "initiator" "receiver" "5Kinvitesecret..." trueИспользовать инвайт (может перевести в SHARES)

Операции наград

КомандаОписание
award "alice" "bob" 1000 0 "Great work!" [] trueНаградить с вознаграждением на основе энергии
fixed_award "alice" "bob" "10.000000 SHARES" 5000 0 "Reward" [] trueНаградить фиксированной суммой SHARES

Формат бенефициара: [{"account":"charlie","weight":2000}]


Операции подписок

КомандаОписание
set_paid_subscription "account" "https://url" 3 "10.000 VIZ" 30 trueСоздать подписку (3 уровня, 10 VIZ/период, 30-дневный период)
paid_subscribe "subscriber" "account" 2 "20.000 VIZ" 1 true trueПодписаться на уровень 2

Рынок аккаунтов

КомандаОписание
set_account_price "account" "account" "100.000 VIZ" true trueВыставить на продажу
set_subaccount_price "account" "account" "50.000 VIZ" true trueВыставить создание субаккаунта на продажу
buy_account "buyer" "account" "100.000 VIZ" "VIZnewkey..." "0.000 VIZ" trueКупить аккаунт
target_account_sale "account" "account" "targetbuyer" "100.000 VIZ" true trueЦелевая продажа

Пользовательская операция

bash
custom [] ["alice"] "my_app" "{\"action\":\"follow\",\"target\":\"bob\"}" true

Параметры: required_active_auths required_regular_auths id json broadcast


Конструктор транзакций

Создание и подпись пользовательских транзакций с несколькими операциями:

bash
begin_builder_transaction           # Возвращает дескриптор (например, 0)
add_operation_to_builder_transaction 0 [2,{"from":"alice","to":"bob","amount":"10.000 VIZ","memo":""}]
sign_builder_transaction 0 true     # Подписать и транслировать
КомандаОписание
begin_builder_transactionНачать новую транзакцию (возвращает дескриптор)
add_operation_to_builder_transaction handle [type_id, op]Добавить операцию
replace_operation_in_builder_transaction handle idx [type_id, op]Заменить операцию
preview_builder_transaction handleПредварительный просмотр JSON транзакции
sign_builder_transaction handle broadcastПодписать (и опционально транслировать)
propose_builder_transaction handle author title memo expiry review broadcastОбернуть в предложение
remove_builder_transaction handleОтменить
get_prototype_operation "transfer_operation"Получить пустой шаблон операции
serialize_transaction {trx}Получить hex-сериализацию
sign_transaction {trx} broadcastПодписать произвольную транзакцию

DNS-помощники NS

Хранить DNS-записи в метаданных аккаунта:

bash
ns_set_records "myaccount" {"a_records":["188.120.231.153"],"ssl_hash":"4a4613...","ttl":28800} true
ns_get_summary "myaccount"
ns_extract_a_records "myaccount"
ns_remove_records "myaccount" true

Хелперы валидации: ns_validate_ipv4, ns_validate_sha256_hash, ns_validate_ttl, ns_validate_ssl_txt_record, ns_validate_metadata, ns_create_metadata.


Личные сообщения

bash
get_encrypted_memo "alice" "bob" "#secret message"
decrypt_memo "#encrypteddata..."
get_inbox "myaccount" "2024-01-15T00:00:00" 100 0
get_outbox "myaccount" "2024-01-15T00:00:00" 100 0

См. также: JSON-RPC API, Обзор операций, Типы данных.