Economic contract.
The Economic contract establishes the economic system of the AElf. When the block chain starts to work, this contract will initialize other contracts related to economic activities.
Implement AElf Standards ACS1.
Economic.InitialEconomicSystemInput
Field
Type
Description
Label
native_token_symbol
string
The native token symbol.
native_token_name
string
The native token name.
native_token_total_supply
int64
The native token total supply.
native_token_decimals
int32
The accuracy of the native token.
is_native_token_burnable
bool
It indicates if the token is burnable.
mining_reward_total_amount
int64
It determines how much native token is used to reward the miners.
transaction_size_fee_unit_price
int64
todo : remove unused fields
Economic.IssueNativeTokenInput
Field
Type
Description
Label
amount
int64
The amount of token.
memo
string
The memo.
to
aelf.Address
The recipient of the token.
Economic.IssueResourceTokenInput
Field
Type
Description
Label
symbol
string
The symbol of resource token.
amount
int64
The amount of resource token.
memo
string
The memo.
to
aelf.Address
The recipient of the token.
Field
Type
Description
Label
symbol
string
The token symbol of the method fee.
basic_fee
int64
The amount of fees to be charged.
Field
Type
Description
Label
method_name
string
The name of the method to be charged.
fees
MethodFee
List of fees to be charged.
repeated
is_size_fee_free
bool
Optional based on the implementation of SetMethodFee method.
Field
Type
Description
Label
value
bytes
Field
Type
Description
Label
nodes
Hash
The leaf nodes.
repeated
root
Hash
The root node hash.
leaf_count
int32
The count of leaf node.
Field
Type
Description
Label
value
bytes
Field
Type
Description
Label
address
Address
The contract address.
name
string
The name of the log event.
indexed
bytes
The indexed data, used to calculate bloom.
repeated
non_indexed
bytes
The non indexed data.
Field
Type
Description
Label
merkle_path_nodes
MerklePathNode
The merkle path nodes.
repeated
Field
Type
Description
Label
hash
Hash
The node hash.
is_left_child_node
bool
Whether it is a left child node.
Field
Type
Description
Label
value
sint32
Field
Type
Description
Label
value
sint64
Field
Type
Description
Label
address
Address
The scope address, which will be the contract address.
path
StatePath
The path of contract state.
aelf.SmartContractRegistration
Field
Type
Description
Label
category
sint32
The category of contract code(0: C#).
code
bytes
The byte array of the contract code.
code_hash
Hash
The hash of the contract code.
is_system_contract
bool
Whether it is a system contract.
version
int32
The version of the current contract.
Field
Type
Description
Label
parts
string
The partial path of the state path.
repeated
Field
Type
Description
Label
from
Address
The address of the sender of the transaction.
to
Address
The address of the contract when calling a contract.
ref_block_number
int64
The height of the referenced block hash.
ref_block_prefix
bytes
The first four bytes of the referenced block hash.
method_name
string
The name of a method in the smart contract at the To address.
params
bytes
The parameters to pass to the smart contract method.
signature
bytes
When signing a transaction it’s actually a subset of the fields: from/to and the target method as well as the parameter that were given. It also contains the reference block number and prefix.
aelf.TransactionExecutingStateSet
aelf.TransactionExecutingStateSet.DeletesEntry
Field
Type
Description
Label
key
string
value
bool
aelf.TransactionExecutingStateSet.ReadsEntry
Field
Type
Description
Label
key
string
value
bool
aelf.TransactionExecutingStateSet.WritesEntry
Field
Type
Description
Label
transaction_id
Hash
The transaction id.
status
TransactionResultStatus
The transaction result status.
logs
LogEvent
The log events.
repeated
bloom
bytes
Bloom filter for transaction logs. A transaction log event can be defined in the contract and stored in the bloom filter after the transaction is executed. Through this filter, we can quickly search for and determine whether a log exists in the transaction result.
return_value
bytes
The return value of the transaction execution.
block_number
int64
The height of the block hat packages the transaction.
block_hash
Hash
The hash of the block hat packages the transaction.
error
string
Failed execution error message.
aelf.TransactionResultStatus
Name
Number
Description
NOT_EXISTED
0
The execution result of the transaction does not exist.
PENDING
1
The transaction is in the transaction pool waiting to be packaged.
FAILED
2
Transaction execution failed.
MINED
3
The transaction was successfully executed and successfully packaged into a block.
CONFLICT
4
When executed in parallel, there are conflicts with other transactions.
PENDING_VALIDATION
5
The transaction is waiting for validation.
NODE_VALIDATION_FAILED
6
Transaction validation failed.
Field
Type
Description
Label
contract_address
aelf.Address
The contract address of the controller.
owner_address
aelf.Address
The address of the owner of the contract.