New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fullnode RPC and pub/sub need enhancement #2044
Comments
Thanks, I agree with most of them. The Pub/Sub part is not familiar to me, @Thegaram please advise it
Agree. But Some test RPCs are too much expensive, which should really carefully to expose it.
Could you specify them all?
sounds reasonable. Maybe we can add cfx_getReceiptsByBlockHash.
Sounds reasonable to me, the protocol should be carefully designed.
Sounds reasonable to me.
I am not clear, return 4 epoch numbers on what scenarios? |
1)It's up to user to decide which RPCs to open, at least in an intranet. |
Also, for the scan, the atomicity of RPCs is really important. So we have getXXXWithPivotAssumption to handle it. If you want some RPCs just for scan syncing service. The atomicity is a vital thing to handle. |
And the name of test RPCs is still to be finalized. Maybe it's better to finalize it before make it optional to expose. Could you specify which of them you want the most? |
At least, txpool related RPCs are required for scan to display pending txs. |
The log structure in As for a |
I am still a bit confused about the atomicity issue of pubsub. If you want to retrieve block data, you can use |
@Thegaram just want to keep consistency for public PRC between infura and fullnode |
The pending transaction is not that trivial. Tx-pools can contain at most 100,000 transactions. There's no way to display pending transactions on ConfluxScan by just exposing some debug RPCs like "inspect_pool" due to such a large amount of data, and the paging and indexing could be needed. And, due to a much lower pending period on Conflux that BTC or ETH. Personally, I think the pending transaction is good to have, with a lower priority. |
@resodo in my option, scan could provide a way for a single user to query the pending txs on demand, especially for txs that pended for a long time, e.g. 5 minutes. In this case, full node could provide a API with enough performance. Anyway, we could have more discussion from the productivity's point of view. |
Did some thinking about this. What's the utility of getting these in one request as opposed to four parallel requests? Is it just that it's cheaper? Consistency/atomicity does not seem to be an important concern here. |
Yes, just for cheaper. Anyway, it's OK to get 4 values via current RPC |
Most of these have been implemented. Please reopen if there are any missing features you need. |
local
andtest
RPCs (e.g. txpool related RPCs) are very useful for scan and infuradevelopment, suggest fullnode to allow user to configure public/intranet access for those RPCs, just as what Ethereum did now.cfx_getTransactionReceipt
.getBlockReceipts(blockHash)
,getEpochReceipts(epoch)
, it will significantly increase the performance of data sync.The text was updated successfully, but these errors were encountered: