Commit Graph

227 Commits

Author SHA1 Message Date
Bryan Stitt
1d22291737 wip. add user tiers 2022-10-31 20:51:50 +00:00
Bryan Stitt
234289965d cargo upgrade 2022-10-31 19:34:29 +00:00
Bryan Stitt
366f2c8f84 rename api_key to rpc_key 2022-10-27 00:12:42 +00:00
Bryan Stitt
0c3194f445 upgrades and todo cleanup 2022-10-26 22:38:04 +00:00
Bryan Stitt
8f3e5c0146 user post endpoint 2022-10-26 21:39:26 +00:00
Bryan Stitt
8230172366 more user endpoints 2022-10-25 21:11:19 +00:00
Bryan Stitt
4ccbcb8af4 update sea-orm and entities 2022-10-25 03:41:59 +00:00
Bryan Stitt
a0056ca881 optional tracing-sentry 2022-10-24 21:07:29 +00:00
Bryan Stitt
cbe2c7a6cd cargo upgrade 2022-10-21 20:57:10 +00:00
Bryan Stitt
12ee26a2b3 wait on background threads 2022-10-20 22:51:56 +00:00
Bryan Stitt
6c1a128802 cargo upgrade --workspace 2022-10-20 07:16:07 +00:00
Bryan Stitt
848af3d8b3 more docs 2022-10-17 21:47:58 +00:00
Bryan Stitt
76c8f1ef96 i think it works 2022-10-11 21:31:34 +00:00
Bryan Stitt
552f3dbffc proper sizes for caches and emit all stats 2022-10-11 19:58:25 +00:00
Bryan Stitt
cfd26940a9 this might be too many columns 2022-10-11 05:13:00 +00:00
Bryan Stitt
25aa68a5bf add per-user rpc accounting 2022-10-10 04:15:49 +00:00
Bryan Stitt
c8fbf46885 stats in redis that actually work
we should still investigate a real time series db, but stats in redis is much simpler for now
2022-10-07 02:15:53 +00:00
Bryan Stitt
25d34da98d add stat emitter 2022-10-03 18:08:01 +00:00
Bryan Stitt
53f9551180 finish adding semaphores 2022-09-28 03:35:55 +00:00
Bryan Stitt
a3bba43360 allow null calldata 2022-09-24 07:03:29 +00:00
Bryan Stitt
bbaa32e7b5 release 0.2.0 2022-09-24 05:54:38 +00:00
Bryan Stitt
8459dcd1f1 let the frontend handle their own cookies 2022-09-24 02:47:44 +00:00
Bryan Stitt
8035ee5a0c update entitites 2022-09-24 00:17:02 +00:00
Bryan Stitt
dbd8ea2429 add logout endpoint and prefix with /rpc 2022-09-23 21:49:18 +00:00
Bryan Stitt
961ccf7cf2 ip, origin, referer, and user agent checks 2022-09-23 05:22:33 +00:00
Bryan Stitt
6905e9fd46 create a struct for authenticated requests that we need for per-key stats 2022-09-22 19:57:21 +00:00
Bryan Stitt
8481f6d44c wip 2022-09-21 23:50:55 +00:00
Bryan Stitt
37a1aa554b revert error saving and extract blockHash from requests 2022-09-21 04:48:21 +00:00
Bryan Stitt
6ae24b1ff9 use cache's expiration and race-free get_with
when this was a dashmap, we needed our own expiration and parallel requests would do the same query.

with moka, we can use their expiration code and get_with
2022-09-20 01:33:39 +00:00
Bryan Stitt
b2adc73b50 upgrade tokio-stream 2022-09-19 22:25:45 +00:00
Bryan Stitt
05af0551c9 use ahash
this might actually be slower. do real benchmarks
2022-09-17 02:17:20 +00:00
Bryan Stitt
3d4bfbfde0 use ahash. allow no redis 2022-09-17 01:19:11 +00:00
Bryan Stitt
6182b5f8e6 need a mutex, not a cell 2022-09-17 01:06:10 +00:00
Bryan Stitt
12b6d01434 work in progress 2022-09-15 17:57:24 +00:00
Bryan Stitt
1730b8c7a5 switch to deadpool 2022-09-14 06:18:13 +00:00
Bryan Stitt
e9ee87afb2 cargo upgrade 2022-09-14 01:42:08 +00:00
Bryan Stitt
dc30bdcef3 cargo upgrade 2022-09-12 14:36:26 +00:00
Bryan Stitt
879c6e49f2 dry errors so that rate limits dont log so much 2022-09-10 00:12:14 +00:00
Bryan Stitt
cae034afb3 better metrics and spawn 2022-09-08 21:01:36 +00:00
Bryan Stitt
068c05cf4f improve fork logic again 2022-09-05 16:25:21 +00:00
Bryan Stitt
6e12edd555 use sized Caches 2022-09-05 05:53:58 +00:00
Bryan Stitt
62d747c1b3 Vec instead of IndexSet 2022-09-05 03:40:13 +00:00
Bryan Stitt
593eb461b8 more dashmap 2022-09-05 01:52:59 +00:00
Bryan Stitt
b259b56dee upgrade deps 2022-09-02 20:00:59 +00:00
Bryan Stitt
2606844c61 almost done with heaviest chain tracking 2022-09-02 05:40:56 +00:00
Bryan Stitt
6450a4cd42 more fork detection work 2022-09-01 05:58:55 +00:00
Bryan Stitt
e5e137f76c fix deadlock 2022-08-30 20:01:42 +00:00
Bryan Stitt
93fe878748 more use login things 2022-08-27 05:42:25 +00:00
Bryan Stitt
101104ac5d upgrade 2022-08-26 05:26:27 +00:00
Bryan Stitt
2989b7e91c dry redis connections and use bearer tokens 2022-08-23 18:48:27 +00:00
Bryan Stitt
634dc5572d upgrade 2022-08-21 08:30:43 +00:00
Bryan Stitt
5af834d710 it compiles 2022-08-21 08:27:52 +00:00
Bryan Stitt
b94cb7382d upgrade deps 2022-08-19 20:13:36 +00:00
Bryan Stitt
115657e97c half the login page and better error handling 2022-08-16 22:52:12 +00:00
Bryan Stitt
305d89ddf4 error refactor for user endpoints 2022-08-16 19:29:00 +00:00
Bryan Stitt
3b23ed1f8e tower-request-id 2022-08-16 00:33:26 +00:00
Bryan Stitt
e9000d1f61 drop redis-cell in favor of simpler query 2022-08-15 22:50:56 +00:00
Bryan Stitt
52151f8b22 set content-type header 2022-08-12 21:41:11 +00:00
Bryan Stitt
64c59ef44f start adding prometheus-client 2022-08-12 19:21:14 +00:00
Bryan Stitt
3597fb24ef prettier output in create_user 2022-08-12 19:16:08 +00:00
Bryan Stitt
c57c2249c0 load the redirected page from config 2022-08-12 19:08:28 +00:00
Bryan Stitt
80a3c74120 cache db data in a map 2022-08-10 02:37:43 +00:00
Bryan Stitt
439e27101d better results and errors 2022-08-07 06:48:57 +00:00
Bryan Stitt
2811c84c25 dash consistency 2022-08-06 05:46:33 +00:00
Bryan Stitt
20384e7f2f use Uuid and bools in our generated types 2022-08-05 19:47:50 +00:00
Bryan Stitt
e295307afc fix directory structure 2022-08-05 19:22:23 +00:00
Bryan Stitt
be13cb0ff9 rate limiting on user key 2022-08-04 01:10:27 +00:00
Bryan Stitt
dede79fde1 regenerate entities 2022-08-03 23:17:02 +00:00
Bryan Stitt
7bc2325df3 upgrade deps 2022-08-03 00:27:32 +00:00
Bryan Stitt
4b193a7112 basic database 2022-08-03 00:27:26 +00:00
Bryan Stitt
4cb65b0fa4 setup database and stub migrations 2022-07-26 04:55:07 +00:00
Bryan Stitt
4ec10e7a98 first pass at a schema 2022-07-26 00:38:00 +00:00
Bryan Stitt
a62157bf35 upgrade 2022-07-25 18:36:15 +00:00
Bryan Stitt
0b184ae9c9 shutdown signal 2022-07-22 23:26:04 +00:00
Bryan Stitt
bc1224a0e1 store blocks in Arcs 2022-07-22 05:11:26 +00:00
Bryan Stitt
88cb2cd1d1 document more and cache in block_map 2022-07-19 06:41:04 +00:00
Bryan Stitt
75098d83b6 smarter archive routing 2022-07-19 01:31:12 +00:00
Bryan Stitt
b87540d99d better archive split 2022-07-16 04:13:02 +00:00
Bryan Stitt
fef1caa056 just do one app for now 2022-07-13 21:50:08 +00:00
Bryan Stitt
23a545177f simple backend server 2022-07-11 19:16:18 +00:00
Bryan Stitt
91b9b65db5 fix hex in some responses 2022-07-09 02:33:57 +00:00
Bryan Stitt
fabbf7a3e8 upgrade 2022-07-08 19:00:09 +00:00
Bryan Stitt
8cc2fab48e connection pooling 2022-07-07 03:22:09 +00:00
Bryan Stitt
118ea6204a upgrade 2022-07-06 21:42:53 +00:00
Bryan Stitt
7d81e012ae cargo upgrade 2022-06-25 02:29:07 +00:00
Bryan Stitt
afb3dde4b3 newPendingRawTransactions 2022-06-18 07:06:54 +00:00
Bryan Stitt
4ca292c3e1 getting closer 2022-06-16 02:53:37 +00:00
Bryan Stitt
2e559f3063 transaction subscription getting closer 2022-06-14 04:04:14 +00:00
Bryan Stitt
d2033b0a4e parking lot upgrade 2022-06-02 21:48:49 +00:00
Bryan Stitt
09db979ba3 subscriptions getting closer 2022-05-30 04:30:13 +00:00
Bryan Stitt
0387492df8 add websocket server 2022-05-29 17:28:41 +00:00
Bryan Stitt
8316c812c6 upgrade dashmap 2022-05-29 01:27:15 +00:00
Bryan Stitt
4335d2120e update ethers-rs 2022-05-28 04:25:55 +00:00
Bryan Stitt
2b4a2c3cad use redis-cell instead of governor 2022-05-21 23:34:05 +00:00
Bryan Stitt
5e14333e61 start adding redis-cell for rate limits 2022-05-21 20:40:22 +00:00
Bryan Stitt
0ef728df93 axum and compact logs 2022-05-20 05:27:18 +00:00
Bryan Stitt
7c7b25d654 minimal app served its purpose 2022-05-20 02:01:02 +00:00
Bryan Stitt
5d1e0a6178 use local clone of ethers-rs 2022-05-20 00:53:57 +00:00
Bryan Stitt
36f2ca380b add minimal code that only watches blocks to see if it locks up 2022-05-19 21:21:41 +00:00
Bryan Stitt
7a3a3271bb back to arcswap and usizes 2022-05-18 20:18:01 +00:00
Bryan Stitt
dcfad0c1b5 max fd limit 2022-05-17 17:24:10 +00:00
Bryan Stitt
315b751dc7 add tokio-console 2022-05-17 16:23:27 +00:00
Bryan Stitt
58643d605c tracing should use parking lot too 2022-05-17 04:26:53 +00:00
Bryan Stitt
6ab2b3a533 in-flight request checks 2022-05-16 19:15:47 +00:00
Bryan Stitt
5fcd01065e deadlock detection 2022-05-16 05:16:32 +00:00
Bryan Stitt
d961aa647d small refactor 2022-05-15 19:39:13 +00:00
Bryan Stitt
397d4d03e5 add chain_id to proc title 2022-05-12 18:49:57 +00:00
Bryan Stitt
3914a41fa2 handle batched requests 2022-05-11 23:51:03 +00:00
Bryan Stitt
cf4055e2b1 dont fear locks and better serializing 2022-05-06 05:44:30 +00:00
Bryan Stitt
6fc80e9358 rustls 2022-05-06 01:25:49 +00:00
Bryan Stitt
bc91bd1c6f first pass at caching
i'm confused. i had it over 100k connections on friday, but now even when i go back to those commits, i can't get that high
2022-05-05 19:06:03 +00:00
Bryan Stitt
70ffa51c2f upgrades 2022-05-04 06:06:34 +00:00
Bryan Stitt
5a9bcd5dc3 flume seems faster 2022-05-03 05:13:53 +00:00
Bryan Stitt
651494a278 toml config 2022-05-03 04:02:52 +00:00
Bryan Stitt
79507c92cb arcswap again 2022-05-02 21:35:49 +00:00
Bryan Stitt
b47482298c first pass at less sturcts 2022-05-02 20:32:55 +00:00
Bryan Stitt
7510db4989 faster 2022-04-29 01:57:16 +00:00
Bryan Stitt
2fef0e6acb no more dashmap. all atomics 2022-04-28 22:40:29 +00:00
Bryan Stitt
5c2e0dabc8 even better locking 2022-04-28 00:08:30 +00:00
Bryan Stitt
0b5d2ca1cf track latest blocks 2022-04-27 04:36:11 +00:00
Bryan Stitt
a870dfa63a derive more 2022-04-26 16:50:02 +00:00
Bryan Stitt
710cef5da3 use channels to return early 2022-04-26 06:54:24 +00:00
Bryan Stitt
969bb32495 start using ethers-rs 2022-04-25 19:42:51 +00:00
Bryan Stitt
7705991b4c watch new heads 2022-04-25 19:14:10 +00:00
Bryan Stitt
f9be6a2ef1 parallel processing 2022-04-24 18:56:46 +00:00
Bryan Stitt
5a6467fa3f large improvements 2022-04-24 07:26:00 +00:00
Bryan Stitt
28a99fd6ea initial commit 2022-03-04 19:46:57 -08:00