mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-29 09:47:38 +00:00
342 lines
5.8 KiB
Markdown
342 lines
5.8 KiB
Markdown
|
|
# Module XDPoS
|
|
|
|
## Method XDPoS_getBlockInfoByEpochNum
|
|
|
|
Parameters:
|
|
|
|
- epochNumber: integer, required, epoch number
|
|
|
|
Returns:
|
|
|
|
result: object EpochNumInfo:
|
|
|
|
- hash: hash of first block in this epoch
|
|
- round: round of epoch
|
|
- firstBlock: number of first block in this epoch
|
|
- lastBlock: number of last block in this epoch
|
|
|
|
Example:
|
|
|
|
```shell
|
|
epoch=89300
|
|
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_getBlockInfoByEpochNum",
|
|
"params": [
|
|
'"${epoch}"'
|
|
]
|
|
}' | jq
|
|
```
|
|
|
|
## Method XDPoS_getEpochNumbersBetween
|
|
|
|
Parameters:
|
|
|
|
- begin: string, required, block number
|
|
- end: string, required, block number
|
|
|
|
Returns:
|
|
|
|
result: array of uint64
|
|
|
|
Example:
|
|
|
|
```shell
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_getEpochNumbersBetween",
|
|
"params": [
|
|
"0x5439860",
|
|
"0x5439c48"
|
|
]
|
|
}' | jq
|
|
```
|
|
|
|
## Method XDPoS_getLatestPoolStatus
|
|
|
|
The `XDPoS_getLatestPoolStatus` method retrieves current vote pool and timeout pool content and missing messages.
|
|
|
|
Parameters:
|
|
|
|
None
|
|
|
|
Returns:
|
|
|
|
result: object MessageStatus
|
|
|
|
- vote: object
|
|
- timeout: object
|
|
|
|
Example:
|
|
|
|
```shell
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_getLatestPoolStatus"
|
|
}' | jq
|
|
```
|
|
|
|
## Method XDPoS_getMasternodesByNumber
|
|
|
|
Parameters:
|
|
|
|
- number: string, required, BlockNumber
|
|
|
|
Returns:
|
|
|
|
result: object MasternodesStatus:
|
|
|
|
- Number: uint64
|
|
- Round: uint64
|
|
- MasternodesLen: int
|
|
- Masternodes: array of address
|
|
- PenaltyLen: int
|
|
- Penalty: array of address
|
|
- StandbynodesLen: int
|
|
- Standbynodes: array of address
|
|
- Error: string
|
|
|
|
Example:
|
|
|
|
```shell
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_getMasternodesByNumber",
|
|
"params": [
|
|
"latest"
|
|
]
|
|
}' | jq
|
|
```
|
|
|
|
## Method XDPoS_getMissedRoundsInEpochByBlockNum
|
|
|
|
Parameters:
|
|
|
|
- number: string, required, BlockNumber
|
|
|
|
Returns:
|
|
|
|
result: object PublicApiMissedRoundsMetadata:
|
|
|
|
- EpochRound: uint64
|
|
- EpochBlockNumber: big.Int
|
|
- MissedRounds: array of MissedRoundInfo
|
|
|
|
MissedRoundInfo:
|
|
|
|
- Round: uint64
|
|
- Miner: address
|
|
- CurrentBlockHash: hash
|
|
- CurrentBlockNum: big.Int
|
|
- ParentBlockHash: hash
|
|
- ParentBlockNum: big.Int
|
|
|
|
Example:
|
|
|
|
```shell
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_getMissedRoundsInEpochByBlockNum",
|
|
"params": [
|
|
"latest"
|
|
]
|
|
}' | jq
|
|
```
|
|
|
|
## Method XDPoS_getSigners
|
|
|
|
The `getSigners` method retrieves the list of authorized signers at the specified block.
|
|
|
|
Parameters:
|
|
|
|
- number: string, required, BlockNumber
|
|
|
|
Returns:
|
|
|
|
result: array of address
|
|
|
|
Example:
|
|
|
|
```shell
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_getSigners",
|
|
"params": [
|
|
"latest"
|
|
]
|
|
}' | jq
|
|
```
|
|
|
|
## Method XDPoS_getSignersAtHash
|
|
|
|
The `getSignersAtHash` method retrieves the state snapshot at a given block.
|
|
|
|
Parameters:
|
|
|
|
- hash: string, required, block hash
|
|
|
|
Returns:
|
|
|
|
same as `XDPoS_getSigners`
|
|
|
|
Example:
|
|
|
|
```shell
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_getSignersAtHash",
|
|
"params": [
|
|
"'"${hash}"'"
|
|
]
|
|
}' | jq
|
|
```
|
|
|
|
## Method XDPoS_getSnapshot
|
|
|
|
The `getSnapshot` method retrieves the state snapshot at a given block.
|
|
|
|
Parameters:
|
|
|
|
- number: string, required, BlockNumber
|
|
|
|
Returns:
|
|
|
|
result: object PublicApiSnapshot:
|
|
|
|
- number: block number where the snapshot was created
|
|
- hash: block hash where the snapshot was created
|
|
- signers: array of authorized signers at this moment
|
|
- recents: array of recent signers for spam protections
|
|
- votes: list of votes cast in chronological order
|
|
- tally: current vote tally to avoid recalculating
|
|
|
|
Example:
|
|
|
|
```shell
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_getSnapshot",
|
|
"params": [
|
|
"latest"
|
|
]
|
|
}' | jq
|
|
```
|
|
|
|
## Method XDPoS_getSnapshotAtHash
|
|
|
|
The `getSnapshotAtHash` method retrieves the state snapshot at a given block.
|
|
|
|
Parameters:
|
|
|
|
- hash: string, required, block hash
|
|
|
|
Returns:
|
|
|
|
same as `XDPoS_getSnapshot`
|
|
|
|
Example:
|
|
|
|
```shell
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_getSnapshotAtHash",
|
|
"params": [
|
|
"latest"
|
|
]
|
|
}' | jq
|
|
```
|
|
|
|
## Method XDPoS_getV2BlockByHash
|
|
|
|
Parameters:
|
|
|
|
- hash: string, required, block hash
|
|
|
|
Returns:
|
|
|
|
same as `XDPoS_getV2BlockByNumber`
|
|
|
|
Example:
|
|
|
|
```shell
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_getV2BlockByHash",
|
|
"params": [
|
|
"'"${hash}"'"
|
|
]
|
|
}' | jq
|
|
```
|
|
|
|
## Method XDPoS_getV2BlockByNumber
|
|
|
|
Parameters:
|
|
|
|
- number: string, required, BlockNumber
|
|
|
|
Returns:
|
|
|
|
result: object V2BlockInfo:
|
|
|
|
- Hash: hash
|
|
- Round: uint64
|
|
- Number: big.Int
|
|
- ParentHash: hash
|
|
- Committed: bool
|
|
- Miner: common.Hash
|
|
- Timestamp: big.Int
|
|
- EncodedRLP: string
|
|
- Error: string
|
|
|
|
Example:
|
|
|
|
```shell
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_getV2BlockByNumber",
|
|
"params": [
|
|
"latest"
|
|
]
|
|
}' | jq
|
|
```
|
|
|
|
## Method XDPoS_networkInformation
|
|
|
|
Parameters:
|
|
|
|
None
|
|
|
|
Returns:
|
|
|
|
result: object NetworkInformation:
|
|
|
|
- NetworkId: big.Int
|
|
- XDCValidatorAddress: address
|
|
- RelayerRegistrationAddress: address
|
|
- XDCXListingAddress: address
|
|
- XDCZAddress: address
|
|
- LendingAddress: address
|
|
- ConsensusConfigs: object of XDPoSConfig
|
|
|
|
Example:
|
|
|
|
```shell
|
|
curl -s -X POST -H "Content-Type: application/json" ${RPC} -d '{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"method": "XDPoS_networkInformation"
|
|
}' | jq
|
|
```
|