feat: 체인 클라이언트 멀티노드 페일오버 (SPOF 해결)
CHAIN_NODE_URLS 환경변수(쉼표 구분)로 복수 노드 지정 가능. Client.Call()이 네트워크/HTTP 오류 시 다음 노드로 자동 전환. RPC 레벨 오류(트랜잭션 실패 등)는 즉시 반환 (페일오버 미적용). 기존 CHAIN_NODE_URL 단일 설정은 하위 호환 유지. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2
main.go
2
main.go
@@ -67,7 +67,7 @@ func main() {
|
||||
authSvc := auth.NewService(authRepo, rdb)
|
||||
authHandler := auth.NewHandler(authSvc)
|
||||
|
||||
chainClient := chain.NewClient(config.C.ChainNodeURL)
|
||||
chainClient := chain.NewClient(config.C.ChainNodeURLs...)
|
||||
chainRepo := chain.NewRepository(db)
|
||||
chainSvc, err := chain.NewService(chainRepo, chainClient, config.C.ChainID, config.C.OperatorKeyHex, config.C.WalletEncryptionKey)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user