Here is a list of all the supported RPC endpoints of smartBCH, sorted by the prefixes. The endpoints with "sbch" prefix are smartBCH-specific, which are used by the BasicBrowser. The endpoints with "web3", "net" and "eth" prefixes have the same function as infura, except for some features which are described below.
JSON-RPC methods | Doc (eth.wiki) | Doc (infura.io/docs) | Implemented? |
---|---|---|---|
web3_clientVersion | https://eth.wiki/json-rpc/API#web3_clientVersion | https://infura.io/docs/ethereum/json-rpc/web3-clientVersion | ✅ |
web3_sha3 | https://eth.wiki/json-rpc/API#web3_sha3 | ✅ |
JSON-RPC methods | Doc (eth.wiki) | Doc (infura.io/docs) | Implemented? |
---|---|---|---|
net_version | https://eth.wiki/json-rpc/API#net_version | https://infura.io/docs/ethereum/json-rpc/net-version | ✅ |
net_peerCount | https://eth.wiki/json-rpc/API#net_peercount | https://infura.io/docs/ethereum/json-rpc/net-peerCount | ❌ |
net_listening | https://eth.wiki/json-rpc/API#net_listening | https://infura.io/docs/ethereum/json-rpc/net-listening | ❌ |
The throughput of smartBCH is very high, and no transactions will be waiting in the mempool for a long time, so there is no need to check whether a transaction is accepted by mempool.
JSON-RPC methods | Doc | Implemented? |
---|---|---|
txpool_content | https://geth.ethereum.org/docs/rpc/ns-txpool#txpool_content | ✅ (returns empty data) |
txpool_status | https://geth.ethereum.org/docs/rpc/ns-txpool#txpool_status | ✅ (returns empty data) |
txpool_inspect | https://geth.ethereum.org/docs/rpc/ns-txpool#txpool_inspect | ✅ (returns empty data) |
JSON-RPC methods | Doc (eth.wiki) | Doc (infura.io/docs) | Since |
---|---|---|---|
sbch_queryTxBySrc | N/A | N/A | v0.1.0 |
sbch_queryTxByDst | N/A | N/A | v0.1.0 |
sbch_queryTxByAddr | N/A | N/A | v0.1.0 |
sbch_queryLogs | N/A | N/A | v0.1.0 |
sbch_getTxListByHeight | N/A | N/A | v0.1.0 |
sbch_getTxListByHeightWithRange | N/A | N/A | v0.1.0 |
sbch_getAddressCount | N/A | N/A | v0.1.0 |
sbch_getSep20AddressCount | N/A | N/A | v0.2.0 |
sbch_getTransactionReceipt | N/A | N/A | v0.4.0 |
sbch_validatorsInfo | N/A | N/A | V0.4.1 |
Returns the information about transactions requested by sender address and block range.
Parameters:
DATA
, 20 Bytes - from addressQUANTITY
- integer, start numberQUANTITY
- integer, end numberQUANTITY
- integer, the maximal number of txs to return,0
stands for default limit
Note: the start number can be greater than the end number, if so, the results will be sorted by block height in descending order.
Retrns:
Array
- array of transaction objects, see eth_getTransactionByHash
Returns the information about transactions requested by recipient address and block range.
Parameters:
DATA
, 20 Bytes - to addressQUANTITY|TAG
- integer of start number, or string"latest"
for the last mined blockQUANTITY|TAG
- integer of end number, or string"latest"
for the last mined blockQUANTITY
- integer, the maximal number of txs to return,0
stands for default limit
Note: the start number can be greater than the end number, if so, the results will be sorted by block height in descending order.
Retrns:
Array
- array of transaction objects, see eth_getTransactionByHash
Returns the information about transactions requested by address (sender or recipient) and block range.
Parameters:
DATA
, 20 Bytes - from or to addressQUANTITY|TAG
- integer of start number, or string"latest"
for the last mined blockQUANTITY|TAG
- integer of end number, or string"latest"
for the last mined blockQUANTITY
- integer, the maximal number of txs to return,0
stands for default limit
Note: the start number can be greater than the end number, if so, the results will be sorted by block height in descending order.
Retrns:
Array
- array of transaction objects, see eth_getTransactionByHash
Query logs by address, topics and block range. It is different from eth_getLogs
in:
- the contract address is required, not optional;
- the topics are position-independent, which means as long as a log has the specified topics in any position, it will be included in the returned result.
Parameters:
DATA
, 20 Bytes - contract addressArray of DATA
, topicsQUANTITY|TAG
- integer of start number, or string"latest"
for the last mined blockQUANTITY|TAG
- integer of end number, or string"latest"
for the last mined blockQUANTITY
- integer, the maximal number of txs to return,0
stands for default limit.
Note: the start number can be greater than the end number, if so, the results will be sorted by block height in descending order.
Returns:
Array
- array of log objects, see eth_getLogs
Get tx list by height.
Parameters:
QUANTITY|TAG
- integer of start number, or string"latest"
for the last mined block
Returns:
Array
- array of transaction objects, see sbch_getTransactionReceipt
Get tx list by height and tx index range.
Parameters:
QUANTITY|TAG
- integer of start number, or string"latest"
for the last mined blockQUANTITY
- integer of start tx indexQUANTITY
- integer of end tx index, or "0x0" which stands for "the largest tx index"
Returns:
Array
- array of transaction objects, see sbch_getTransactionReceipt
Returns the times addr acts as a to-address or from-address of a transaction.
Parameters:
String
, kind of the query, could be"from"
,"to"
, or"both"
DATA
, 20 Bytes - EOA or contract address
Returns:
QUANTITY
- integer of count
Returns the times addr acts as a to-address or from-address of a SEP20 Transfer event at some contract.
Parameters:
String
, kind of the query, could be"from"
,"to"
, or"both"
DATA
, 20 Bytes - SEP20 contract addressDATA
, 20 Bytes - EOA or contract address
Returns:
QUANTITY
- integer of count
Enhanced version of eth_getTransactionReceipt, the returned array of objects contain additional information about internal transactions.
Parameters: same as eth_getTransactionReceipt
Returns: array of objects sepcified by eth_getTransactionReceipt plus one more field of type Array: internalTransactions
.
Each object in internalTransactions array contains the following fields:
callPath
:string
- a string representation of call type, depth and index of internal transaction (e.g. staticcall_0_1_1).from
:DATA
, 20 Bytes - address of the sender.to
:DATA
, 20 Bytes - address of the receiver.gas
:QUANTITY
- gas provided by the sender.value
:QUANTITY
- value transferred in Wei.input
:DATA
- the data send along with the internal transaction.status
:QUANTITY
- either1
(success) or0
(failure).gasUsed
:QUANTITY
- the amount of gas used by this internal transaction.output
:DATA
- the data returned by the internal transaction.contractAddress
:DATA
, 20 Bytes - The contract address created, if the transaction was a contract creation, otherwisenull
.
Returns the validators info.
Parameters: N/A
Returns: a validator info object:
- genesisMainnetBlockHeight:
QUANTITY
- The BCH mainnet height when smartbch chain mint genesis block. - currEpochNum:
QUANTITY
- The epoch number of current epoch. - validators:
Array
- Array of validator object, which mean validators created by callstakingContract.createValidator
method. - validatorsUpdate:
Array
- Array of validator object, which mean validators whose voting power updated when epoch switch. - pendingRewards:
Array
- Array of pending rewards object, which mean validator pending rewards. - minGasPrice:
QUANTITY
- The minimum gas price decided in current block. - lastMinGasPrice:
QUANTITY
- The minimum gas price used in current block. - currValidators:
Array
- Array of validator object, which mean validators who on duty in current epoch.
And the validator
object has fields:
- address:
DATA
, 20 Bytes - Address of the validator. - pubkey:
DATA
, 32 Bytes - Consensus pubkey of the validator. - reward_to:
DATA
, 20 Bytes - Address to receive block mint rewards. - voting_power:
QUANTITY
- The minimum gas price decided in current block. - introduction:
String
- The introduction of validator. - staked_coins
DATA
, 32 Bytes - Staked coins of the validator. - is_retiring:
Boolean
- Indicate whether validator is retired.