Transfer - smart contract¶
“The transfer of asset from one account to another is one operation and a smart contract.”
In this section, we examine how worker proposal smart contract was constructed. There are items and helpful steps to construct a smart contract. We want to list those items by examining BitShares blockchain components.
Smart contract items
Object
Object Index and Call
Operations
Validations
Initialize Evaluators and Index
Evaluators
API call
Items¶
Object¶
account_object
account_balance_object
asset_object
asset_dynamic_data_object
Object Index and Search Call¶
generic_index
get_asset()
get_account()
Operations¶
transfer_operation
override_transfer_operation
blind_transfer_operation
transfer_from_blind_operation
transfer_to_blind_operation
Validations¶
Initialize Evaluators and Index¶
void database::initialize_evaluators()
{
_operation_evaluators.resize(255);
register_evaluator<account_create_evaluator>()
.......
}
void database::initialize_indexes()
{
reset_indexes();
_undo_db.set_max_size( GRAPHENE_MIN_UNDO_HISTORY );
.....
}
void database::init_genesis(const genesis_state_type& genesis_state)
{ try {
.....
}}
Evaluators¶
transfer_evaluator
override_transfer_evaluator
generic_evaluator
op_evaluator