drift-labs / gateway

Self hosted API gateway to easily interact with Drift V2 Protocol
Apache License 2.0
20 stars 11 forks source link

Connection errors in Docker #83

Open utgarda opened 1 week ago

utgarda commented 1 week ago

Starting today, I can't connect using Gateway Docker image, whatever I do. It worked yesterday.

git rev-parse --short HEAD 
# 9f3fe21
cargo build --release
# ...

export DRIFT_GATEWAY_KEY=/path/to/id.json
export RPC_URL='https://mainnet.helius-rpc.com/?api-key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx'

./target/release/drift-gateway ${RPC_URL} --delegate A48rDdnMuQicdLfcBiX1NDwRSPRkFQhpMSqbkA7ByFQt
# [2024-10-04T13:24:38Z INFO  gateway] πŸ› gateway listening at http://127.0.0.1:8080
# [2024-10-04T13:24:38Z INFO  gateway] πŸͺͺ: authority: A48rDdnMuQicdLfcBiX1NDwRSPRkFQhpMSqbkA7ByFQt, default sub-account: 79QZWZV5BwSkeZvxwx6h4wp6XWm1bFy7u7qk74uw7yrf, πŸ”‘ delegate: 6umx3g7WSshRhtqTfUbqr48jC6EYA1Lc8pRnVqLcTfGh

docker pull ghcr.io/drift-labs/gateway
# Using default tag: latest
# latest: Pulling from drift-labs/gateway
# Digest: sha256:99db740bbdf8e6f10079032eb4c7c98121b029bee7ac6a6ee919e0b70deb6168

docker run -e RUST_BACKTRACE=1 -e DRIFT_GATEWAY_KEY=/id.json -v ${DRIFT_GATEWAY_KEY}:/id.json ghcr.io/drift-labs/gateway:latest --tx-commitment processed ${RPC_URL} --host 0.0.0.0 --delegate A48rDdnMuQicdLfcBiX1NDwRSPRkFQhpMSqbkA7ByFQt

# thread 'main' panicked at /usr/local/cargo/git/checkouts/drift-rs-5caec46913ba7527/2abbbb6/crates/src/websocket_program_account_subscriber.rs:84:60:
# connects: ConnectionError(Http(Response { status: 429, version: HTTP/1.1, headers: {"date": "Fri, 04 Oct 2024 13:27:15 GMT", "content-type": "application/json", "content-length": "73", "connection": "keep-alive", "access-control-allow-origin": "*", "access-control-allow-headers": "*", "access-control-allow-methods": "GET, HEAD, POST, PUT, OPTIONS", "server": "cloudflare", "cf-ray": "8cd582239b9e65af-FRA"}, body: Some([123, ...]) }))
# stack backtrace:
#    0: rust_begin_unwind
#    1: core::panicking::panic_fmt
#    2: core::result::unwrap_failed
#    3: drift_rs::websocket_program_account_subscriber::WebsocketProgramAccountSubscriber::subscribe::{{closure}}

another one:

gateway-1  | thread 'main' panicked at src/controller.rs:106:14:
gateway-1  | ok: Rpc(Error { request: None, kind: RpcError(ForUser("AccountNotFound: pubkey=D9cnvzswDikQDf53k4HpQ3KJ9y1Fv3HGGDFYMXnK5T6c: error sending request for url (https://mainnet.helius-rpc.com/?api-key=xxxxxxx): operation timed out")) })
gateway-1  | stack backtrace:
gateway-1  |    0:     0x5572a9da3e35 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h1b9dad2a88e955ff
gateway-1  |    1:     0x5572a9dca87b - core::fmt::write::h4b5a1270214bc4a7
gateway-1  |    2:     0x5572a9da0e9f - std::io::Write::write_fmt::hd04af345a50c312d
jordy25519 commented 1 week ago

Looks like rate limits being hit during start up. Will see if the initial requests can be spread out more

jordy25519 commented 1 week ago

related drift-labs/drift-rs#60