Closed doitian closed 2 months ago
This PR introduces several enhancements to the CKB Synchronizer to reduce synchronization time during the initial block download (IBD) phase. Key changes include:
tip_hash
and tip_number
to represent the current chain tip.unverified_tip_hash
and unverified_tip_number
to track the latest received but not yet verified blocks.orphan_blocks_size
field.These updates lead to a more efficient synchronization process, reducing the overall time
required for IBD. Note that removing the orphan_blocks_size
field constitutes a BREAKING CHANGE
in the sync_state
RPC.
This change is only available in the next version of CKB consensus rules.
In this PR, we refactored the implementation of spawn. The refactored syscall API is defined as follows: https://github.com/XuJiandong/ckb-c-stdlib/blob/syscall-spawn/ckb_syscall_apis.h#L54-L68.
Review Introduction: https://github.com/nervosnetwork/ckb/pull/4380#issuecomment-2058070291
Documentation: https://github.com/nervosnetwork/rfcs/pull/436
async
styleSuspend
state from cacheThis is a breaking change to RPC. The RPC to get cells may fail when exceeding the limit.
tx_index
to TxStatus
for get_transaction
RPC (@eval-exec)This is a breaking change to the RPC.
VerifyQueue
: re_notify other Worker when OnlySmallCycleTx
received a large cycle tx (@eval-exec)signal_exit
is cancelled (@chenyukang)
Assume Valid Target
MainNet: the 60 days ago block is: 13266076 0xd07c7f0fcea6e2a20a51dabbf0caae7ebff49723bcd8bac81a8b8c021a546a32 in Wed Jun 19 02:31:36 AM UTC 2024 you can view this block in https://explorer.nervos.org/block/0xd07c7f0fcea6e2a20a51dabbf0caae7ebff49723bcd8bac81a8b8c021a546a32
TestNet: the 60 days ago block is: 13632642 0xab6f81474ccbc1cdd5f42cda7029a6f6e52fc242c3487861e8abb62b6a6ea8a9 in Wed Jun 19 02:32:01 AM UTC 2024 you can view this block in https://pudge.explorer.nervos.org/block/0xab6f81474ccbc1cdd5f42cda7029a6f6e52fc242c3487861e8abb62b6a6ea8a9