# Операции и их типы
Операции в блокчейне 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, виртуальная операция, экспирация ратификации сделки через посредника;
Номер операции нужен для низко-уровневого формирования транзакций и их подписи (подробнее в разделе Формирование транзакций).