调研polygon cdk-fork12是否支持在polygon pos测试网amoy部署
背景
调研polygon cdk-fork12是否支持在polygon pos测试网amoy部署
前置结论
结论:polygon cdk-fork12依赖于以太坊PoS状态检查,polygon pos测试网amoy RPC未实现该逻辑导致不兼容,无法支持部署polygon网络
概述
在推荐配置下,da,sequencer,sync,pool-manager,bridge 各个核心服务正常运行,交易正常处理
但sequence-sender运行报错,跟进代码,由于交易状态检查逻辑中,会依次检查各个状态的过度:LatestBlock->SafeBlock->PendingBlock->FinalizedBlock,由于polygon pos测试网amoy没有像以太坊PoS完整实现,所以导致报错
2024-11-14T12:21:48.112Z ERROR l1_check_block/l1_block_by_name.go:171 checkL1block:: Error getting L1 block %!d(string=safe/0). err: safe block not found {"pid": 40}
github.com/0xPolygonHermez/zkevm-synchronizer-l1/synchronizer/l1_check_block.(*L1BlockNumberByNameFetch).BlockNumber
/go/pkg/mod/github.com/0x!polygon!hermez/zkevm-synchronizer-l1@v1.0.5/synchronizer/l1_check_block/l1_block_by_name.go:171
github.com/0xPolygon/zkevm-ethtx-manager/ethtxmanager.(*Client).waitMinedTxToBeSafe
/go/pkg/mod/github.com/0x!polygon/zkevm-ethtx-manager@v0.2.1/ethtxmanager/ethtxmanager.go:525
github.com/0xPolygon/zkevm-ethtx-manager/ethtxmanager.(*Client).Start
/go/pkg/mod/github.com/0x!polygon/zkevm-ethtx-manager@v0.2.1/ethtxmanager/ethtxmanager.go:458
2024-11-14T12:21:48.112Z ERROR ethtxmanager/ethtxmanager.go:927 failed to wait safe tx to be finalized: failed to get safe block number: safe block not found%!(EXTRA string=
/go/pkg/mod/github.com/0x!polygon/zkevm-ethtx-manager@v0.2.1/log/log.go:140 github.com/0xPolygon/zkevm-ethtx-manager/log.appendStackTraceMaybeArgs()
/go/pkg/mod/github.com/0x!polygon/zkevm-ethtx-manager@v0.2.1/log/log.go:249 github.com/0xPolygon/zkevm-ethtx-manager/log.Errorf()
/go/pkg/mod/github.com/0x!polygon/zkevm-ethtx-manager@v0.2.1/ethtxmanager/ethtxmanager.go:927 github.com/0xPolygon/zkevm-ethtx-manager/ethtxmanager.(*Client).logErrorAndWait()
/go/pkg/mod/github.com/0x!polygon/zkevm-ethtx-manager@v0.2.1/ethtxmanager/ethtxmanager.go:460 github.com/0xPolygon/zkevm-ethtx-manager/ethtxmanager.(*Client).Start()
// BlockFinality indicates the status of the blocks that will be queried in order to sync
BlockFinality string `jsonschema:"enum=LatestBlock, enum=SafeBlock, enum=PendingBlock, enum=FinalizedBlock, enum=EarliestBlock" mapstructure:"BlockFinality"` //nolint:lll