# Операции и их типы

Операции в блокчейне VIZ делятся на обычные, устаревшие, виртуальные. Обычные операции попадают в блокчейн через подписанную транзакцию участника сети. Устаревшие операции отключены в следствии развития сети и изменения внутренних механик.

Часть операций также относятся к тяжелым (data операции), на них накладывается дополнительный коэфициент пропускной способности (голосуемый параметр сети data_operations_cost_additional_bandwidth).

Виртуальные операции генерируются нодой когда срабатывают определенные условия в коде и носят больше информационный характер для участников сети. Например, операция награждения (award) от участника сети содержит цель награждения и затрачиваемую аккаунтом энергию. Там не хранится объем награждения, который достанется получателю из фонда наград. Именно для таких случаев и нужны виртуальные операции. В случае награждения будет сформирована виртуальная операция receive_award, содержащая полученную награду в поле shares.


# Нумерация операций

В протоколе VIZ есть нумерация операций (opens new window) (начинается с нуля), там находятся как обычные, так и виртуальные операции:

  • 0, vote, устаревшая операция;
  • 1, content, устаревшая операция;
  • 2, transfer, перевод токенов VIZ;
  • 3, transfer_to_vesting, перевод токенов VIZ в долю сети SHARES;
  • 4, withdraw_vesting, конвертация SHARES в VIZ (вывод 28 суток равными частями объемом 1/28 от всей суммы SHARES);
  • 5, account_update, обновление доступов аккаунта;
  • 6, witness_update, установка ключа для делегата (или заявление о намерении им быть);
  • 7, account_witness_vote, голосование за делегата;
  • 8, account_witness_proxy, передача права голосования своей долей за делегатов;
  • 9, delete_content, устаревшая операция;
  • 10, custom, отправить в блокчейн-систему VIZ публичную строку с содержимым в формате JSON;
  • 11, set_withdraw_vesting_route, установка направления вывода доли при конвертации SHARES в токены VIZ;
  • 12, request_account_recovery, запрос на восстановление доступов через доверенный аккаунт;
  • 13, recover_account, удовлетворение запроса на восстановление доступов доверенным аккаунтом;
  • 14, change_recovery_account, смена доверенного аккаунта для восстановления аккаунта при потере доступов;
  • 15, escrow_transfer, создать сделку через посредника;
  • 16, escrow_dispute, запросить разрешение спорной ситуации между сторонами сделки у посредника;
  • 17, escrow_release, отпустить токены из сделки;
  • 18, escrow_approve, подтвердить выполнение сделки;
  • 19, delegate_vesting_shares, делегирование доли другому участнику;
  • 20, account_create, создание нового аккаунта;
  • 21, account_metadata, обновление публичных мета-данных аккаунта;
  • 22, proposal_create, создания предложения на подпись;
  • 23, proposal_update, обновление предложения (предоставление подписи);
  • 24, proposal_delete, удаление предложения;
  • 25, chain_properties_update, устаревшая операция, заменена versioned_chain_properties_update;
  • 26, author_reward, устаревшая виртуальная операция;
  • 27, curation_reward, устаревшая виртуальная операция;
  • 28, content_reward, устаревшая виртуальная операция;
  • 29, fill_vesting_withdraw, виртуальная операция, содержит информацию о конвертации SHARES в VIZ;
  • 30, shutdown_witness, виртуальная операция, вызывается когда делегат отключается из-за большого количества пропущенных блоков;
  • 31, hardfork, виртуальная операция, вызывается когда происходит хардфорк (обновление версии блокчейна);
  • 32, content_payout_update, устаревшая виртуальная операция;
  • 33, content_benefactor_reward, устаревшая виртуальная операция;
  • 34, return_vesting_delegation, виртуальная операция, происходит при возвращении делегированной доли;
  • 35, committee_worker_create_request, создание заявки в комитет;
  • 36, committee_worker_cancel_request, отмена заявки в комитете;
  • 37, committee_vote_request, голосование по заявке в комитете;
  • 38, committee_cancel_request, виртуальная операция, заявка отклонена комитетом;
  • 39, committee_approve_request, виртуальная операция, заявка одобрена комитетом;
  • 40, committee_payout_request, виртуальная операция, заявка полностью получила выплату из комитета;
  • 41, committee_pay_request, виртуальная операция, заявка получила выплату из комитета;
  • 42, witness_reward, виртуальная операция, награда делегату за подпись блока;
  • 43, create_invite, создание инвайт-кода;
  • 44, claim_invite_balance, погашение инвайт-кода на баланс аккаунта;
  • 45, invite_registration, регистрация с помощью инвайт-кода;
  • 46, versioned_chain_properties_update, установка делегатом голосуемых параметров сети;
  • 47, award, награждение участника сети;
  • 48, receive_award, виртуальная операция, получение награды;
  • 49, benefactor_award, виртуальная операция, получение бенефициарской награды;
  • 50, set_paid_subscription, установка условия соглашения для периодических платежей;
  • 51, paid_subscribe, подписание условий соглашения;
  • 52, paid_subscription_action, виртуальная операция, оплата периодических платежей;
  • 53, cancel_paid_subscription, виртуальная операция, прекращение периодических платежей;
  • 54, set_account_price, установить цену за аккаунт;
  • 55, set_subaccount_price, установить цену за сабаккаунты;
  • 56, buy_account, купить аккаунт;
  • 57, account_sale, виртуальная операция, запись о покупке аккаунта;
  • 58, use_invite_balance, использование баланса инвайт-кода для перевода в долю сети аккаунта;
  • 59, expire_escrow_ratification, виртуальная операция, экспирация ратификации сделки через посредника;

Номер операции нужен для низко-уровневого формирования транзакций и их подписи (подробнее в разделе Формирование транзакций).