Block Consensus Contract
blkendt.xsat
blkendt.xsat
This contract processes votes from validators on the hash of each Bitcoin block. When more than two-thirds of the validators submit the same hash for a block, and it matches the hash of the block data submitted by the Synchronizer, the block is considered to have reached consensus.
Actions
Endorse a block
TABLE config
config
scope
blkendt.xsat
params
{uint64_t} limit_endorse_height
- limit the endorsement height. If it is 0, there will be no limit. If it is greater than this height, endorsement will not be allowed.{uint16_t} limit_num_endorsed_blocks
- limit the endorsement height to no more than the number of blocks of the parsed height. If it is 0, there will be no limit.{uint16_t} min_validators
- the minimum number of validators, which limits the number of validators that pledge more than 100 BTC at the time of first endorsement.{uint16_t} consensus_interval_seconds
- the interval in seconds between consensus rounds.{uint64_t} xsat_stake_activation_height
- block height at which XSAT staking feature is activated
example
TABLE endorsements
endorsements
scope
height
params
{uint64_t} id
- primary key{checksum256} hash
- endorsement block hash{std::vector<requested_validator_info>} requested_validators
- list of unendorsed validators{std::vector<provider_validator_info>} provider_validators
- list of endorsed validators
example
STRUCT requested_validator_info
requested_validator_info
{name} account
- validator account{uint64_t} staking
- the validator's staking amount
example
STRUCT provider_validator_info
provider_validator_info
{name} account
- validator account{uint64_t} staking
- the validator's staking amount{time_point_sec} created_at
- created at time
example
ACTION config
config
authority: blkendt.xsat
Configure endorsement status
params
{uint64_t} limit_endorse_height
- limit the endorsement height. If it is 0, there will be no limit. If it is greater than this height, endorsement will not be allowed.{uint16_t} limit_num_endorsed_blocks
- limit the endorsement height to no more than the number of blocks of the parsed height. If it is 0, there will be no limit.{uint16_t} min_validators
- the minimum number of validators, which limits the number of validators that pledge more than 100 BTC at the time of first endorsement.{uint64_t} xsat_stake_activation_height
- block height at which XSAT staking feature is activated{uint16_t} consensus_interval_seconds
- the interval in seconds between consensus rounds.
ACTION endorse
endorse
authority:
validator
Endorsement block
params
{name} validator
- validator account{uint64_t} height
- to endorse the height of the block{checksum256} hash
- to endorse the hash of the block
ACTION erase
erase
authority:
utxomng.xsat
To erase high endorsements
params
{uint64_t} height
- to endorse the height of the block
Last updated