-
Notifications
You must be signed in to change notification settings - Fork 2
Blockchain Objects and Identifiers
This chapter wants to introduce the concepts of objects as they are used by the CYBEX clients.
In contrast to many other projects, the Graphene technology distinguishes different kinds of objects, in the protocol and implementation space. In the protocol space, there are raw objects such as, accounts, assets, committee members as well as orders, proposals and balances. The implementation space is used to gain access to higher abstraction layers for instance content of the current database state (these include, current global blockchain properties, dynamic asset data, transaction histories as well as account statistics and budget records).
On the BitShares blockchains there are no addresses, but objects identified by a unique id, a type and a space in the form:
space.type.id
List of commonly used objects
ID | Object Type |
---|---|
1.1.x | base object |
1.2.x | account object |
1.3.x | asset object |
1.4.x | force settlement object |
1.5.x | committee member object |
1.6.x | witness object |
1.7.x | limit order object |
1.8.x | call order object |
1.9.x | custom object |
1.10.x | proposal object |
1.11.x | operation history object |
1.12.x | withdraw permission object |
1.13.x | vesting balance object |
1.14.x | worker object |
1.15.x | balance object |
2.0.x | global_property_object |
2.1.x | dynamic_global_property_object |
2.3.x | asset_dynamic_data |
2.4.x | asset_bitasset_data |
2.5.x | account_balance_object |
2.6.x | account_statistics_object |
2.7.x | transaction_object |
2.8.x | block_summary_object |
2.9.x | account_transaction_history_object |
2.10.x | blinded_balance_object |
2.11.x | chain_property_object |
2.12.x | witness_schedule_object |
2.13.x | budget_record_object |
2.14.x | special_authority_object |
To get a feeling about what these objects do, we recommend to obtain these exemplary objects.
2.0.0 (global blockchain parameters)
2.1.0 (current blockchain data)
1.2.0 (committee-account details)
1.3.0 (core asset details)
For advanced users that want to deal with the C++ code of graphene, we here list the definition of object_type and impl_object_type:
Protocol Space (1.x.x)
enum graphene::chain::object_type
Values:
null_object_type
base_object_type
account_object_type
asset_object_type
force_settlement_object_type
committee_member_object_type
witness_object_type
limit_order_object_type
call_order_object_type
custom_object_type
proposal_object_type
operation_history_object_type
withdraw_permission_object_type
vesting_balance_object_type
worker_object_type
balance_object_type
OBJECT_TYPE_COUNT
Implementattion Space (2.x.x)
enum graphene::chain::impl_object_type
Values:
impl_global_property_object_type
impl_dynamic_global_property_object_type
impl_reserved0_object_type
impl_asset_dynamic_data_type
impl_asset_bitasset_data_type
impl_account_balance_object_type
impl_account_statistics_object_type
impl_transaction_object_type
impl_block_summary_object_type
impl_account_transaction_history_object_type
impl_blinded_balance_object_type
impl_chain_property_object_type
impl_witness_schedule_object_type
impl_budget_record_object_type
impl_special_authority_object_type
impl_buyback_object_type
impl_fba_accumulator_object_type