Operations in the VIZ blockchain are divided into ordinary, outdated, virtual. Ordinary operations get into the blockchain through a signed transaction of a network participant. Outdated operations are disabled due to the development of the network and changes in internal mechanics.
Some of the operations are also heavy (data operations), an additional bandwidth factor is imposed on them (voting parameter of network data_operations_cost_additional_bandwidth).
Virtual operations are generated by the node when certain conditions in the code are triggered and are more informative for network participants. For example, an award operation from a network member contains the purpose of the award and the energy spent by the account. It does not store the amount of awards that will go to the recipient from the awards fund. It is for such cases that virtual operations are needed. In case of awarding, a virtual operation receive_award will be generated, containing the received award in the shares field.
In the VIZ protocol there is a numbering of operations (starts from zero), there are both normal and virtual operations:
- 0, vote, outdated operation;
- 1, content, outdated operation;
- 2, transfer, transfer of VIZ tokens;
- 3, transfer_to_vesting, transfer of VIZ tokens to a share in the SHARES network;
- 4, withdraw_vesting, conversion of SHARES to VIZ (withdrawal within 28 days in equal parts of 1/28 of the total amount of SHARES);
- 5, account_update, updating account access;
- 6, witness_update, setting a key for a delegate (or a statement of intent to be one);
- 7, account_witness_vote, voting for a delegate;
- 8, account_witness_proxy, transfer of the right to vote (with share) for the delegates;
- 9, delete_content, outdated operation;
- 10, custom, send a public string with the contents in JSON format to the VIZ blockchain system;
- 11, set_withdraw_vesting_route, setting the share withdrawal direction when converting SHARES to VIZ tokens;
- 12, request_account_recovery, request to restore access through a trusted account;
- 13, recover_account, satisfaction of a request to restore access by a trusted account;
- 14, change_recovery_account, - change of the trusted account to restore the account in case of loss of access;
- 15, escrow_transfer, create a deal through an intermediary;
- 16, escrow_dispute, request a resolution of a dispute between the sides to the transaction from an intermediary;
- 17, escrow_release, release tokens from the transaction;
- 18, escrow_approve, confirm the completion of the transaction;
- 19, delegate_vesting_shares, delegating a share to another participant;
- 20, account_create, creating a new account;
- 21, account_metadata, updating public account metadata;
- 22, proposal_create, creating an offer for signature;
- 23, proposal_update, updating the offer (providing a signature);
- 24, proposal_delete, deleting an offer;
- 25, chain_properties_update, outdated operation, replaced by versioned_chain_properties_update;
- 26, author_reward, outdated virtual operation;
- 27, curation_reward, outdated virtual operation;
- 28, content_reward, outdated virtual operation;
- 29, fill_vesting_withdraw, virtual operation, contains information about converting SHARES to VIZ;
- 30, shutdown_witness, virtual operation, called when the delegate is disabled due to a large number of missed blocks;
- 31, hardfork, virtual operation, called when a hardfork occurs (updating the blockchain version);
- 32, content_payout_update, outdated virtual operation;
- 33, content_benefactor_reward, outdated virtual operation;
- 34, return_vesting_delegation, virtual operation, occurs when the delegated share is returned;
- 35, committee_worker_create_request, creating an application to the committee;
- 36, committee_worker_cancel_request, cancellation of the application in the committee;
- 37, committee_vote_request, voting for the application in the committee;
- 38, committee_cancel_request, virtual operation, the application was rejected by the committee;
- 39, committee_approve_request, virtual operation, the application was approved by the committee;
- 40, committee_payout_request, virtual operation, the application received a full payment from the committee;
- 41, committee_pay_request, virtual operation, the application received a payment from the committee;
- 42, witness_reward, виртуальная операция, award to the delegate for signing the block;
- 43, create_invite, creating an invite code;
- 44, claim_invite_balance, repayment of the invite code to the account balance;
- 45, invite_registration, registration using an invite code;
- 46, versioned_chain_properties_update, setting voting parameters of the network by the delegate;
- 47, award, awarding of network participants;
- 48, receive_award, virtual operation, receiving a reward;
- 49, benefactor_award, virtual operation, receiving a beneficiary award;
- 50, set_paid_subscription, setting the terms of the agreement for periodic payments;
- 51, paid_subscribe, signing the terms of the agreement;
- 52, paid_subscription_action, virtual operation, payment of periodic payments;
- 53, cancel_paid_subscription, virtual operation, termination of periodic payments;
- 54, set_account_price, setting the price for an account;
- 55, set_subaccount_price, setting the price for a subaccount;
- 56, buy_account, buying an account;
- 57, account_sale, virtual operation, account purchase record;
- 58, use_invite_balance, using the balance of the invite code to transfer to the account's network share;
- 59, expire_escrow_ratification, virtual operation, expiration of the transaction ratification through an intermediary;
The operation number is needed for low-level formation of transactions and their signature (for more information, see the section Formation of transactions).