Consensus Contract
AEDPoS contract#
Used to manage block producers and synchronize data. Implements aelf Standards ACS1, ACS4, ACS6, ACS10, and ACS11.
Contract Methods#
Method Name | Request Type | Response Type | Description |
---|---|---|---|
InitialAElfConsensusContract | AEDPoS.InitialAElfConsensusContractInput | google.protobuf.Empty | Initialize the consensus contract. |
FirstRound | AEDPoS.Round | google.protobuf.Empty | Initializes the consensus information in the first round. |
UpdateValue | AEDPoS.UpdateValueInput | google.protobuf.Empty | Update consensus information. |
NextRound | AEDPoS.NextRoundInput | google.protobuf.Empty | Update consensus information, create a new round. |
NextTerm | AEDPoS.NextTermInput | google.protobuf.Empty | Update consensus information, create a new term. |
UpdateTinyBlockInformation | AEDPoS.TinyBlockInput | google.protobuf.Empty | Update consensus tiny block information. |
SetMaximumMinersCount | google.protobuf.Int32Value | google.protobuf.Empty | Set the maximum count of miners, by default, is unlimited. |
ChangeMaximumMinersCountController | AuthorityInfo | google.protobuf.Empty | Change the authority information for maximum miners count. |
RecordCandidateReplacement | AEDPoS.RecordCandidateReplacementInput | google.protobuf.Empty | Notify AEDPoS Contract of candidate replacement. |
GetCurrentMinerList | google.protobuf.Empty | AEDPoS.MinerList | Get the list of current miners. |
GetCurrentMinerPubkeyList | google.protobuf.Empty | AEDPoS.PubkeyList | Get the list of current miners in hexadecimal format. |
GetCurrentMinerListWithRoundNumber | google.protobuf.Empty | AEDPoS.MinerListWithRoundNumber | Get the list of current miners and current round number. |
GetRoundInformation | google.protobuf.Int64Value | AEDPoS.Round | Get information of the round according to round number. |
GetCurrentRoundNumber | google.protobuf.Empty | google.protobuf.Int64Value | Get the current round number. |
GetCurrentRoundInformation | google.protobuf.Empty | AEDPoS.Round | Get the current round information. |
GetPreviousRoundInformation | google.protobuf.Empty | AEDPoS.Round | Get the previous round information. |
GetCurrentTermNumber | google.protobuf.Empty | google.protobuf.Int64Value | Get the current term number. |
GetCurrentTermMiningReward | google.protobuf.Empty | google.protobuf.Int64Value | Get the welfare reward for the current term. |
GetMinerList | AEDPoS.GetMinerListInput | AEDPoS.MinerList | Get the list of miners according to term number. |
GetPreviousMinerList | google.protobuf.Empty | AEDPoS.MinerList | Get the list of miners in the previous term. |
GetMinedBlocksOfPreviousTerm | google.protobuf.Empty | google.protobuf.Int64Value | Get the amount of mined blocks in the previous term. |
GetNextMinerPubkey | google.protobuf.Empty | google.protobuf.StringValue | Get the miner that produces the next block. |
IsCurrentMiner | aelf.Address | google.protobuf.BoolValue | Check if the account address is on the miner list for the current round. |
GetNextElectCountDown | google.protobuf.Empty | google.protobuf.Int64Value | Get the left time before the next election takes effect (seconds). |
GetPreviousTermInformation | google.protobuf.Int64Value | AEDPoS.Round | Get term information according to term number. |
GetRandomHash | google.protobuf.Int64Value | aelf.Hash | Get random hash (Compatibility note). |
GetMaximumBlocksCount | google.protobuf.Empty | google.protobuf.Int32Value | Get the maximum of tiny blocks produced by a miner each round. |
GetMaximumMinersCount | google.protobuf.Empty | google.protobuf.Int32Value | Get the maximum count of miners. |
GetMaximumMinersCountController | google.protobuf.Empty | AuthorityInfo | Get the authority information for maximum miners count. |
GetMainChainCurrentMinerList | google.protobuf.Empty | AEDPoS.MinerList | Get the list of miners in the main chain. |
GetPreviousTermMinerPubkeyList | google.protobuf.Empty | AEDPoS.PubkeyList | Get the list of miners in the previous term. |
GetCurrentMiningRewardPerBlock | google.protobuf.Empty | google.protobuf.Int64Value | Query the current mining reward for each block. |
SetMinerIncreaseInterval | google.protobuf.Int64Value | google.protobuf.Empty | Set the current miner growth time interval. |
GetMinerIncreaseInterval | google.protobuf.Empty | google.protobuf.Int64Value | Get the current miner growth time interval. |
AElf.Standards.ACS1#
ACS1 Standard Methods#
Method Name | Request Type | Response Type | Description |
---|---|---|---|
SetMethodFee | acs1.MethodFees | google.protobuf.Empty | Set the method fees for the specified method. |
ChangeMethodFeeController | AuthorityInfo | google.protobuf.Empty | Change the method fee controller. |
GetMethodFee | google.protobuf.StringValue | acs1.MethodFees | Query method fee information by method name. |
GetMethodFeeController | google.protobuf.Empty | AuthorityInfo | Query the method fee controller. |
AElf.Contracts.Consensus.AEDPoS#
AEDPoS contract#
Used for managing block producers and synchronizing data.
Implement aelf Standards ACS1, ACS4, ACS6, ACS10, and ACS11.
Contract Methods#
Method Name | Request Type | Response Type | Description |
---|---|---|---|
InitialAElfConsensusContract | AEDPoS.InitialAElfConsensusContractInput | google.protobuf.Empty | Initialize the consensus contract. |
FirstRound | AEDPoS.Round | google.protobuf.Empty | Initializes the consensus information in the first round. |
UpdateValue | AEDPoS.UpdateValueInput | google.protobuf.Empty | Update consensus information. |
NextRound | AEDPoS.NextRoundInput | google.protobuf.Empty | Update consensus information, create a new round. |
NextTerm | AEDPoS.NextTermInput | google.protobuf.Empty | Update consensus information, create a new term. |
UpdateTinyBlockInformation | AEDPoS.TinyBlockInput | google.protobuf.Empty | Update consensus tiny block information. |
SetMaximumMinersCount | google.protobuf.Int32Value | google.protobuf.Empty | Set the maximum count of miners, by default, is unlimited. If you want to control the count of miners, you need to set it through parliament. |
ChangeMaximumMinersCountController | AuthorityInfo | google.protobuf.Empty | The authority information for SetMaximumMinersCount, by default, is governed by parliament. |
RecordCandidateReplacement | AEDPoS.RecordCandidateReplacementInput | google.protobuf.Empty | Election Contract can notify AEDPoS Contract to aware candidate replacement happened. |
GetCurrentMinerList | google.protobuf.Empty | AEDPoS.MinerList | Get the list of current miners. |
GetCurrentMinerPubkeyList | google.protobuf.Empty | AEDPoS.PubkeyList | Get the list of current miners (hexadecimal format). |
GetCurrentMinerListWithRoundNumber | google.protobuf.Empty | AEDPoS.MinerListWithRoundNumber | Get the list of current miners and current round number. |
GetRoundInformation | google.protobuf.Int64Value | AEDPoS.Round | Get information of the round according to round number. |
GetCurrentRoundNumber | google.protobuf.Empty | google.protobuf.Int64Value | Get the current round number. |
GetCurrentRoundInformation | google.protobuf.Empty | AEDPoS.Round | Get the current round information. |
GetPreviousRoundInformation | google.protobuf.Empty | AEDPoS.Round | Get the previous round information. |
GetCurrentTermNumber | google.protobuf.Empty | google.protobuf.Int64Value | Get the current term number. |
GetCurrentTermMiningReward | google.protobuf.Empty | google.protobuf.Int64Value | Get the welfare reward the current term. |
GetMinerList | AEDPoS.GetMinerListInput | AEDPoS.MinerList | Get the list of miners according to term number. |
GetPreviousMinerList | google.protobuf.Empty | AEDPoS.MinerList | Get the list of miner in previous term. |
GetMinedBlocksOfPreviousTerm | google.protobuf.Empty | google.protobuf.Int64Value | Get the amount of mined blocks in previous term. |
GetNextMinerPubkey | google.protobuf.Empty | google.protobuf.StringValue | Get the miner that produces the next block. |
IsCurrentMiner | aelf.Address | google.protobuf.BoolValue | Check to see if the account address is on the miner list for the current round. |
GetNextElectCountDown | google.protobuf.Empty | google.protobuf.Int64Value | Query the left time before the next election takes effects (seconds). |
GetPreviousTermInformation | google.protobuf.Int64Value | AEDPoS.Round | Get term information according term number. |
GetRandomHash | google.protobuf.Int64Value | aelf.Hash | Get random hash (Keep this for compatibility). |
GetMaximumBlocksCount | google.protobuf.Empty | google.protobuf.Int32Value | Get maximum tiny blocks produced by miner each round. |
GetMaximumMinersCount | google.protobuf.Empty | google.protobuf.Int32Value | Get the maximum count of miners. |
GetMaximumMinersCountController | google.protobuf.Empty | AuthorityInfo | The authority information for GetMaximumMinersCount, by default, is governed by parliament. |
GetMainChainCurrentMinerList | google.protobuf.Empty | AEDPoS.MinerList | Get the list of miners in main chain. |
GetPreviousTermMinerPubkeyList | google.protobuf.Empty | AEDPoS.PubkeyList | Get the list of miners in previous term. |
GetCurrentMiningRewardPerBlock | google.protobuf.Empty | google.protobuf.Int64Value | Query the current mining reward for each block. |
SetMinerIncreaseInterval | google.protobuf.Int64Value | google.protobuf.Empty | Set the current miner growth time interval. |
GetMinerIncreaseInterval | google.protobuf.Empty | google.protobuf.Int64Value | Get the current miner growth time interval. |
AElf.Standards.ACS4#
ACS4 Standard Methods#
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetConsensusCommand | google.protobuf.BytesValue | acs4.ConsensusCommand | Generate a consensus command based on the consensus contract state and the input public key. |
GetConsensusExtraData | google.protobuf.BytesValue | google.protobuf.BytesValue | Generate consensus extra data when a block is generated. |
GenerateConsensusTransactions | google.protobuf.BytesValue | acs4.TransactionList | Generate consensus system transactions when a block is generated. Each block will contain only one consensus transaction, which is used to write the latest consensus information to the State database. |
ValidateConsensusBeforeExecution | google.protobuf.BytesValue | acs4.ValidationResult | Before executing the block, verify that the consensus information in the block header is correct. |
ValidateConsensusAfterExecution | google.protobuf.BytesValue | acs4.ValidationResult | After executing the block, verify that the state information written to the consensus is correct. |
AElf.Standards.ACS6#
ACS6 Standard Methods#
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetRandomBytes | google.protobuf.BytesValue | google.protobuf.BytesValue | Get random number according to block height. |
AElf.Standards.ACS10#
ACS10 Standard Methods#
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Donate | acs10.DonateInput | google.protobuf.Empty | Donates tokens from the caller to the treasury. If the tokens are not native tokens in the current chain, they will be first converted to the native token. |
Release | acs10.ReleaseInput | google.protobuf.Empty | Release dividend pool according the period number. |
SetSymbolList | acs10.SymbolList | google.protobuf.Empty | Set the token symbols dividend pool supports. |
GetSymbolList | google.protobuf.Empty | acs10.SymbolList | Query the token symbols dividend pool supports. |
GetUndistributedDividends | google.protobuf.Empty | acs10.Dividends | Query the balance of undistributed tokens whose symbols are included in the symbol list. |
GetDividends | google.protobuf.Int64Value | acs10.Dividends | Query the dividend information according to the height. |
AElf.Standards.ACS11#
ACS11 Standard Methods#
Method Name | Request Type | Response Type | Description |
---|---|---|---|
UpdateInformationFromCrossChain | google.protobuf.BytesValue | google.protobuf.Empty | Update the consensus information of the side chain. |
GetChainInitializationInformation | google.protobuf.BytesValue | google.protobuf.BytesValue | Get the current miner list and consensus round information. |
CheckCrossChainIndexingPermission | aelf.Address | google.protobuf.BoolValue | Verify that the input address is the current miner. |
Contract Types#
AElf.Contracts.Consensus.AEDPoS#
AEDPoS.AElfConsensusHeaderInformation#
Field | Type | Description | Label |
---|---|---|---|
sender_pubkey | bytes | The sender public key. | |
round | Round | The round information. | |
behaviour | AElfConsensusBehaviour | The behaviour of consensus. |
AEDPoS.AElfConsensusHint#
Field | Type | Description | Label |
---|---|---|---|
behaviour | AElfConsensusBehaviour | The behaviour of consensus. | |
round_id | int64 | The round id. | |
previous_round_id | int64 | The previous round id. |
AEDPoS.AElfConsensusTriggerInformation#
Field | Type | Description | Label |
---|---|---|---|
pubkey | bytes | The miner public key. | |
in_value | aelf.Hash | The InValue for current round. | |
previous_in_value | aelf.Hash | The InValue for previous round. | |
behaviour | AElfConsensusBehaviour | The behaviour of consensus. | |
encrypted_pieces | EncryptedPiecesEntry | The encrypted pieces of InValue. | repeated |
decrypted_pieces | DecryptedPiecesEntry | The decrypted pieces of InValue. | repeated |
revealed_in_values | RevealedInValuesEntry | The revealed InValues. | repeated |
AEDPoS.AElfConsensusTriggerInformation.DecryptedPiecesEntry#
Field | Type | Description | Label |
---|---|---|---|
key | string | ||
value | bytes |
AEDPoS.AElfConsensusTriggerInformation.EncryptedPiecesEntry#
Field | Type | Description | Label |
---|---|---|---|
key | string | ||
value | bytes |
AEDPoS.AElfConsensusTriggerInformation.RevealedInValuesEntry#
Field | Type | Description | Label |
---|---|---|---|
key | string | ||
value | aelf.Hash |
AEDPoS.Candidates#
Field | Type | Description | Label |
---|---|---|---|
pubkeys | bytes | The candidate public keys. | repeated |
AEDPoS.ConsensusInformation#
Field | Type | Description | Label |
---|---|---|---|
value | bytes |
AEDPoS.GetMinerListInput#
Field | Type | Description | Label |
---|---|---|---|
term_number | int64 | The term number. |
AEDPoS.HashList#
Field | Type | Description | Label |
---|---|---|---|
values | aelf.Hash | repeated |
AEDPoS.InitialAElfConsensusContractInput#
Field | Type | Description | Label |
---|---|---|---|
is_term_stay_one | bool | Whether not to change the term. | |
is_side_chain | bool | Is a side chain. | |
period_seconds | int64 | The number of seconds per term. | |
miner_increase_interval | int64 | The interval second that increases miners. |
AEDPoS.IrreversibleBlockFound#
Field | Type | Description | Label |
---|---|---|---|
irreversible_block_height | int64 | The irreversible block height found. |
AEDPoS.IrreversibleBlockHeightUnacceptable#
Field | Type | Description | Label |
---|---|---|---|
distance_to_irreversible_block_height | int64 | Distance to the height of the last irreversible block. |
AEDPoS.LatestPubkeyToTinyBlocksCount#
Field | Type | Description | Label |
---|---|---|---|
pubkey | string | The miner public key. | |
blocks_count | int64 | The count of blocks the miner produced. |
AEDPoS.MinerInRound#
Field | Type | Description | Label |
---|---|---|---|
order | int32 | The order of the miner producing a block. | |
is_extra_block_producer | bool | Is the extra block producer in the current round. | |
in_value | aelf.Hash | Generated by secret sharing and used for validation between miners. | |
out_value | aelf.Hash | Calculated from the current in value. | |
signature | aelf.Hash | Calculated from the current in value and signatures of the previous round. | |
expected_mining_time | Timestamp | The expected mining time. | |
produced_blocks | int64 | The amount of produced blocks. | |
missed_time_slots | int64 | The amount of missed time slots. | |
pubkey | string | The public key of this miner. | |
previous_in_value | aelf.Hash | The InValue of the previous round. | |
supposed_order_of_next_round | int32 | The supposed order of mining for the next round. | |
final_order_of_next_round | int32 | The final order of mining for the next round. | |
actual_mining_times | Timestamp | The actual mining time, miners must fill the actual mining time when they do the mining. | repeated |
encrypted_pieces | MinerInRound.EncryptedPiecesEntry | The encrypted pieces of InValue. | repeated |
decrypted_pieces | MinerInRound.DecryptedPiecesEntry | The decrypted pieces of InValue. | repeated |
produced_tiny_blocks | int64 | The amount of produced tiny blocks. | |
implied_irreversible_block_height | int64 | The irreversible block height that the current miner recorded. |
AEDPoS.MinerInRound.DecryptedPiecesEntry#
Field | Type | Description | Label |
---|---|---|---|
key | string | ||
value | bytes |
AEDPoS.MinerInRound.EncryptedPiecesEntry#
Field | Type | Description | Label |
---|---|---|---|
key | string | ||
value | bytes |
AEDPoS.MinerList#
Field | Type | Description | Label |
---|---|---|---|
pubkeys | bytes | The miners public key list. | repeated |
AEDPoS.MinerListWithRoundNumber#
Field | Type | Description | Label |
---|---|---|---|
miner_list | MinerList | The list of miners. | |
round_number | int64 | The round number. |
AEDPoS.MinerReplaced#
Field | Type | Description | Label |
---|---|---|---|
new_miner_pubkey | string | The new miner public key. |
AEDPoS.MiningInformationUpdated#
Field | Type | Description | Label |
---|---|---|---|
pubkey | string | The miner public key. | |
mining_time | google.protobuf.Timestamp | The current block time. | |
behaviour | string | The behaviour of consensus. | |
block_height | int64 | The current block height. | |
previous_block_hash | aelf.Hash | The previous block hash. |
AEDPoS.MiningRewardGenerated#
Field | Type | Description | Label |
---|---|---|---|
term_number | int64 | The number of term the mining reward is generated. | |
amount | int64 | The amount of mining reward. |
AEDPoS.PubkeyList#
Field | Type | Description | Label |
---|---|---|---|
pubkeys | string | The miners public key list. | repeated |
AEDPoS.RandomNumberRequestInformation#
Field | Type | Description | Label |
---|---|---|---|
target_round_number | int64 | The random hash is likely generated during this round. | |
order | int64 | ||
expected_block_height | int64 |
AEDPoS.RecordCandidateReplacementInput#
Field | Type | Description | Label |
---|---|---|---|
old_pubkey | string | ||
new_pubkey | string |
AEDPoS.NextRoundInput#
Field | Type | Description | Label |
---|---|---|---|
round_number | int64 | The round number. | |
real_time_miners_information | Round.RealTimeMinersInformationEntry | Current miner information, miner public key -> miner information. | repeated |
main_chain_miners_round_number | int64 | The round number on the main chain. | |
blockchain_age | int64 | The time from chain start to current round (seconds). | |
extra_block_producer_of_previous_round | string | The miner public key that produced the extra block in the previous round. | |
term_number | int64 | The current term number. | |
confirmed_irreversible_block_height | int64 | The height of the confirmed irreversible block. | |
confirmed_irreversible_block_round_number | int64 | The round number of the confirmed irreversible block. | |
is_miner_list_just_changed | bool | Is miner list different from the the miner list in the previous round. | |
round_id_for_validation | int64 | The round id, calculated by summing block producers’ expecting time (second). | |
random_number | bytes | The random number. |
AEDPoS.NextTermInput#
Field | Type | Description | Label |
---|---|---|---|
round_number | int64 | The round number. | |
real_time_miners_information | Round.RealTimeMinersInformationEntry | Current miner information, miner public key -> miner information. | repeated |
main_chain_miners_round_number | int64 | The round number on the main chain. | |
blockchain_age | int64 | The time from chain start to current round (seconds). | |
extra_block_producer_of_previous_round | string | The miner public key that produced the extra block in the previous round. | |
term_number | int64 | The current term number. | |
confirmed_irreversible_block_height | int64 | The height of the confirmed irreversible block. | |
confirmed_irreversible_block_round_number | int64 | The round number of the confirmed irreversible block. | |
is_miner_list_just_changed | bool | Is miner list different from the the miner list in the previous round. | |
round_id_for_validation | int64 | The round id, calculated by summing block producers’ expecting time (second). | |
random_number | bytes | The random number. |
AEDPoS.Round.RealTimeMinersInformationEntry#
Field | Type | Description | Label |
---|---|---|---|
key | string | ||
value | MinerInRound |
AEDPoS.SecretSharingInformation#
Field | Type | Description | Label |
---|---|---|---|
previous_round | Round | The previous round information. | |
current_round_id | int64 | The current round id. | |
previous_round_id | int64 | The previous round id. |
AEDPoS.TermInfo#
Field | Type | Description | Label |
---|---|---|---|
term_number | int64 | ||
round_number | int64 |
AEDPoS.TermNumberLookUp#
Field | Type | Description | Label |
---|---|---|---|
map | TermNumberLookUp.MapEntry | Term number -> Round number. | repeated |
AEDPoS.TermNumberLookUp.MapEntry#
Field | Type | Description | Label |
---|---|---|---|
key | int64 | ||
value | int64 |
AEDPoS.TinyBlockInput#
Field | Type | Description | Label |
---|---|---|---|
round_id | int64 | The round id. | |
actual_mining_time | google.protobuf.Timestamp | The actual mining time. | |
produced_blocks | int64 | Count of blocks produced. |
AEDPoS.UpdateValueInput#
Field | Type | Description | Label |
---|---|---|---|
out_value | aelf.Hash | Calculated from current in value. | |
signature | aelf.Hash | Calculated from current in value and signatures of previous round. | |
round_id | int64 | To ensure the values to update will apply to the correct round by comparing round id. | |
previous_in_value | aelf.Hash | Publishes previous in value for validation of previous signature and previous out value. | |
actual_mining_time | google.protobuf.Timestamp | The actual mining time; miners must fill actual mining time when they mine. | |
supposed_order_of_next_round | int32 | The supposed order of mining for the next round. | |
tune_order_information | UpdateValueInput.TuneOrderInformationEntry | The tuning order of mining for the next round, miner public key -> order. | repeated |
encrypted_pieces | UpdateValueInput.EncryptedPiecesEntry | The encrypted pieces of InValue. | repeated |
decrypted_pieces | UpdateValueInput.DecryptedPiecesEntry | The decrypted pieces of InValue. | repeated |
produced_blocks | int64 | The amount of produced blocks. | |
miners_previous_in_values | UpdateValueInput.MinersPreviousInValuesEntry | The InValue in the previous round, miner public key -> InValue. | repeated |
implied_irreversible_block_height | int64 | The irreversible block height that the miner recorded. |
AEDPoS.UpdateValueInput.DecryptedPiecesEntry#
Field | Type | Description | Label |
---|---|---|---|
key | string | ||
value | bytes |
AEDPoS.UpdateValueInput.EncryptedPiecesEntry#
Field | Type | Description | Label |
---|---|---|---|
key | string | ||
value | bytes |
AEDPoS.UpdateValueInput.MinersPreviousInValuesEntry#
Field | Type | Description | Label |
---|---|---|---|
key | string | ||
value | aelf.Hash |
AEDPoS.UpdateValueInput.TuneOrderInformationEntry#
Field | Type | Description | Label |
---|---|---|---|
key | string | ||
value | int32 |
AEDPoS.VoteMinersCountInput#
Field | Type | Description | Label |
---|---|---|---|
miners_count | int32 | ||
amount | int64 |
AEDPoS.AElfConsensusBehaviour#
Name | Number | Description | Label |
---|---|---|---|
UPDATE_VALUE | 0 | ||
NEXT_ROUND | 1 | ||
NEXT_TERM | 2 | ||
NOTHING | 3 | ||
TINY_BLOCK | 4 |
AElf.Standards.ACS1#
acs1.MethodFee#
Field | Type | Description | Label |
---|---|---|---|
symbol | string | The token symbol of the method fee. | |
basic_fee | int64 | The amount of fees to be charged. |
acs1.MethodFees#
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. |
AElf.Standards.ACS4#
acs4.ConsensusCommand#
Field | Type | Description | Label |
---|---|---|---|
limit_milliseconds_of_mining_block | int32 | Time limit of mining next block. | |
hint | bytes | Context of Hint is diverse according to the consensus protocol we choose, so we use bytes. | |
arranged_mining_time | google.protobuf.Timestamp | The time of arrange mining. | |
mining_due_time | google.protobuf.Timestamp | The expiration time of mining. |
acs4.TransactionList#
Field | Type | Description | Label |
---|---|---|---|
transactions | aelf.Transaction | Consensus system transactions. | repeated |
acs4.ValidationResult#
Field | Type | Description | Label |
---|---|---|---|
success | bool | Is successful. | |
message | string | The error message. | |
is_re_trigger | bool | Whether to trigger mining again. |
AElf.Standards.ACS10#
acs10.Dividends#
Field | Type | Description | Label |
---|---|---|---|
value | Dividends.ValueEntry | The dividends, symbol -> amount. | repeated |
acs10.Dividends.ValueEntry#
Field | Type | Description | Label |
---|---|---|---|
key | string | ||
value | int64 |
acs10.DonateInput#
Field | Type | Description | Label |
---|---|---|---|
symbol | string | The token symbol to donate. | |
amount | int64 | The amount to donate. |
acs10.DonationReceived#
Field | Type | Description | Label |
---|---|---|---|
from | aelf.Address | The address of donors. | |
pool_contract | aelf.Address | The address of dividend pool. | |
symbol | string | The token symbol Donated. | |
amount | int64 | The amount Donated. |
acs10.ReleaseInput#
Field | Type | Description | Label |
---|---|---|---|
period_number | int64 | The period number to release. |
acs10.SymbolList#
Field | Type | Description | Label |
---|---|---|---|
value | string | The token symbol list. | repeated |
AElf.Standards.ACS11#
AElf.Types
aelf.Address#
Field | Type | Description | Label |
---|---|---|---|
value | bytes |
aelf.BinaryMerkleTree#
Field | Type | Description | Label |
---|---|---|---|
nodes | Hash | The leaf nodes. | repeated |
root | Hash | The root node hash. | |
leaf_count | int32 | The count of leaf node. |
aelf.Hash#
Field | Type | Description | Label |
---|---|---|---|
value | bytes |
aelf.LogEvent#
Field | Type | Description | Label |
---|---|---|---|
address | Address | The contract address. | |
name | string | The name of the log event. | |
indexed | bytes | The indexed data. | repeated |
non_indexed | bytes | The non indexed data. |
aelf.MerklePath#
Field | Type | Description | Label |
---|---|---|---|
merkle_path_nodes | MerklePathNode | The merkle path nodes. | repeated |
is_left_child_node | bool | Whether it is a left child node. |
aelf.MerklePathNode#
Field | Type | Description | Label |
---|---|---|---|
hash | Hash | The node hash. | |
is_left_child_node | bool | Whether it is a left child node. |
aelf.SInt32Value#
Field | Type | Description | Label |
---|---|---|---|
value | sint32 |
aelf.SInt64Value#
Field | Type | Description | Label |
---|---|---|---|
value | sint64 |
aelf.ScopedStatePath#
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. |
aelf.StatePath#
Field | Type | Description | Label |
---|---|---|---|
parts | string | The partial path of the state path. | repeated |
aelf.Transaction#
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... |
aelf.TransactionExecutingStateSet#
Field | Type | Description | Label |
---|---|---|---|
writes | TransactionExecutingStateSet.WritesEntry | The changed states. | repeated |
reads | TransactionExecutingStateSet.ReadsEntry | The read states. | repeated |
deletes | TransactionExecutingStateSet.DeletesEntry | The deleted states. | repeated |
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 |
---|---|---|---|
key | string | ||
value | bytes |
aelf.TransactionResult#
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. | |
return_value | bytes | The return value of the transaction execution. | |
block_number | int64 | The height of the block that packages the transaction. | |
block_hash | Hash | The hash of the block that packages the transaction. | |
error | string | Failed execution error message. |
aelf.TransactionResultStatus#
Name | Number | Description | Label |
---|---|---|---|
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... | |
CONFLICT | 4 | When executed in parallel, there are conflicts with other... | |
PENDING_VALIDATION | 5 | The transaction is waiting for validation. | |
NODE_VALIDATION_FAILED | 6 | Transaction validation failed. |
AuthorityInfo#
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. |
Edited on: 14 July 2024 09:26:11 GMT+0