helius-labs / atlas-txn-sender Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
I ran the playbook on ubuntu 22.04. When it comes to haproxy validation, the task fails with the message
Missing LF on last line
I had to add a newline to the template to fix this:
echo "" >> ansible/roles/haproxy-setup/templates/haproxy.cfg.j2
can i use the helius professional rpc and geyser endpoints for this? thanks!
The final build step fails because the cargo command is missing.
Fixed this by adding cargo to the list of dependencies.
Memory just keeps climbing without going down
Having couple issues running this
1. Error in txn subscribe
{"timestamp":"2024-04-10T20:42:58.000781Z","level":"WARN","fields":{"message":"Failed to send data async to 74.118.142.77:8009, error: Custom(\"ConnectionError(TimedOut)\") ","log.target":"solana_quic_client:TimedOut)\") ","log.target":"solana_quic_client::nonblocking::quic_client","log.module_path":"solana_quic_client::nonblocking::quic_client","log.file":"/home/solana/.cargo/registry/src/index.crates.io-6f17d22bba15001f/solana-quic-client-1.17.28/src/nonblocking/quic_client.rs","log.line":592},"target":"solana_quic_client::nonblocking::quic_client"}
{"timestamp":"2024-04-10T20:42:58.001713Z","level":"WARN","fields":{"message":"datapoint: send-wire-async failure=1i","log.target":"solana_metrics::metrics","log.module_path":"solana_metrics::metrics","log.file":"/home/solana/.cargo/registry/src/index.crates.io-6f17d22bba15001f/solana-metrics-1.17.28/src/metrics.rs","log.line":283},"target":"solana_metrics::metrics"}
{"timestamp":"2024-04-10T20:42:58.222213Z","level":"ERROR","fields":{"message":"error in txn subscribe, resubscribing in 1 second: Status { code: Internal, message: \"h2 protocol error: http2 error: stream error received: not a result of an error\", source: Some(hyper::Error(Http2, Error { kind: Reset(StreamId(5), NO_ERROR, Remote) })) }"},"target":"atlas_txn_sender::grpc_geyser"}
2. Error making sendTransaction call
Query:
curl ${atlas-tx-sender service endpoint} -X POST -H "Content-Type: application/json" -d ' { "jsonrpc": "2.0", "id": 1, "method": "sendTransaction", "params": [ "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" ] }'
Error Response
{"jsonrpc":"2.0","error":{"code":-32602,"message":"Invalid params","data":"No more params"},"id":1}%
what is the meaning of NUM_LEADERS_PER_SLOT
Apologies i’m not super familiar with rust. This seems like it’s a server component that accepts web requests and forwards transactions to the blockchain. Having a hard time figuring out what the API of this is like and how to interact with it.
Do you have a simple example of interfacing with this by chance? Is it like you serialize your transaction and send it to a particular port? Or am I misunderstanding entirely and this is more like a library component you would include in your own backend?
Thanks!
After some amount of hours, my RPC dies with a "No available UDP ports in (8000, 10000)" error. On latest versions of everything I use: Yellowstone GRPC, Jupiter v6 API, Jito Validator Fork. I have no firewall rules. According to this error, ports are being opened but not being closed? Maybe the quic client needs to time out faster?
NUM_LEADERS=4
TPU_CONNECTION_POOL_SIZE=4
[2024-04-06T03:19:05.991578373Z INFO solana_metrics::metrics] datapoint: loaded-programs-cache-stats slot=258599051i hits=10674i misses=0i evictions=0i reloads=0i insertions=0i lost_insertions=0i replace_entry=0i one_hit_wonders=0i prunes_orphan=0i prunes_environment=0i empty_entries=0i
[2024-04-06T03:19:05.995420336Z INFO solana_quic_client::quic_client] Timedout sending data 141.98.216.132:8016
0: rust_begin_unwind
at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library/std/src/panicking.rs:595:5
1: core::panicking::panic_fmt
at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library/core/src/panicking.rs:67:14
2: core::result::unwrap_failed
at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library/core/src/result.rs:1652:5
3: solana_quic_client::nonblocking::quic_client::QuicLazyInitializedEndpoint::create_endpoint
4: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
5: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
6: <solana_quic_client::nonblocking::quic_client::QuicClientConnection as solana_connection_cache::nonblocking::client_connection::ClientConnection>::send_data::{{closure}}
7: tokio::runtime::park::CachedParkThread::block_on
8: tokio::runtime::context::runtime::enter_runtime
9: tokio::runtime::runtime::Runtime::block_on
10: <solana_quic_client::quic_client::QuicClientConnection as solana_connection_cache::client_connection::ClientConnection>::send_data
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[2024-04-06T03:19:06.008977821Z ERROR solana_metrics::metrics] datapoint: panic program="validator" thread="solWarmQuicSvc" one=1i message="panicked at quic-client/src/nonblocking/quic_client.rs:111:14:
QuicLazyInitializedEndpoint::create_endpoint bind_in_range: Custom { kind: Other, error: \"No available UDP ports in (8000, 10000)\" }" location="quic-client/src/nonblocking/quic_client.rs:111:14" version="1.17.28 (src:286fd575; feat:3746964731, client:JitoLabs)"
[2024-04-06T03:19:06.014510904Z INFO solana_quic_client::quic_client] Timedout sending data 141.98.216.132:8014
[2024-04-06T03:19:06.017823392Z INFO solana_quic_client::quic_client] Timedout sending data 141.98.216.132:8016
[2024-04-06T03:19:06.017834193Z INFO solana_quic_client::quic_client] Timedout sending data 74.118.143.73:11228
[2024-04-06T03:19:06.017825907Z INFO solana_quic_client::quic_client] Timedout sending data 74.118.143.73:11228
[2024-04-06T03:19:06.017859140Z INFO solana_quic_client::quic_client] Timedout sending data 141.98.216.132:8009
[2024-04-06T03:19:06.017863438Z INFO solana_quic_client::quic_client] Timedout sending data 141.98.216.132:8014
[2024-04-06T03:19:06.017910638Z INFO solana_quic_client::quic_client] Timedout sending data 141.98.216.132:8009
Validator startup args:
solana-validator --expected-genesis-hash 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d --entrypoint 'entrypoint2.mainnet-beta.solana.com:8001' --entrypoint 'entrypoint3.mainnet-beta.solana.com:8001' --entrypoint 'entrypoint.mainnet-beta.solana.com:8001' --entrypoint 'entrypoint4.mainnet-beta.solana.com:8001' --entrypoint 'entrypoint5.mainnet-beta.solana.com:8001' --no-voting --ledger /mnt/ledger --accounts /mnt/accounts --rpc-port 8899 --identity /home/ubuntu/validator-keypair.json --log /home/ubuntu/solana-validator.log --maximum-local-snapshot-age 3000 --wal-recovery-mode skip_any_corrupted_record --full-rpc-api --block-engine-url 'https://amsterdam.mainnet.block-engine.jito.wtf' --allow-private-addr --minimal-snapshot-download-speed 95985760 --tip-payment-program-pubkey T1pyyaTNZsKv2WcRAB8oVnk93mLJw2XzjtVYqCsaHqt --tip-distribution-program-pubkey 4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7 --limit-ledger-size 55000000 --geyser-plugin-config "/home/ubuntu/yellowstone-grpc/yellowstone-grpc-geyser/config.json" --account-index program-id --account-index-include-key TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA --account-index-include-key 3tZPEagumHvtgBhivFJCmhV9AyhBHGW9VgdsK52i4gwP --account-index-include-key AddressLookupTab1e1111111111111111111111111 --accounts-db-cache-limit-mb 150000 --accounts-index-memory-limit-mb 128000 --private-rpc --rpc-send-retry-ms 5
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.