Josh

1.2K posts

Josh banner
Josh

Josh

@devjoshstevens

VP, Engineering @polymarket • prev SVP, Engineering at @aave

Katılım Haziran 2021
863 Takip Edilen3.9K Takipçiler
Sabitlenmiş Tweet
Josh
Josh@devjoshstevens·
Introducing rrelayer, an open-source, blazing-fast EVM relayer built in Rust. rrelayer supports any EVM chain out of the box. KMS, AWS/GCP Secret Manager, Privy, and Turnkey Signers supported—SDKs in Node and Rust + CLI. github.com/joshstevens19/… Docs - rrelayer.xyz
English
55
58
512
76.2K
Josh retweetledi
Tenderly
Tenderly@TenderlyApp·
Powering onchain finance at scale, @aave is building V4 to remove liquidity fragmentation. For V4 development, they run 500+ E2E tests, Aave Pro dev preview & partner demos on Virtual TestNets. With a native @Chainlink CCIP integration. Get insights 🧵 blog.tenderly.co/case-studies/a…
English
8
32
210
267.8K
Josh
Josh@devjoshstevens·
Separate events - Added, Replaced and Removed. The main reason is speed: when you only have a Set event, you have to do an INSERT … ON CONFLICT which is super slow. Added = use insert with binary copy = 50-100x faster than an insert on conflict Replaced = use a standard update = 2-5x faster than an insert on conflict Removed = a standard delete This now means your indexing will be as fast as it can be, and the separation of concerns is clean.
English
1
0
2
54
Nick Mudge 💎
Nick Mudge 💎@mudgen·
For ERC-8109 Diamonds, Simplified, should the events that track functions added to, replaced in, and removed from diamond contracts be three events like this: DiamondFunctionAdded(selector, facet) DiamondFunctionReplaced(selector, oldFacet, newFacet) DiamondFunctionRemoved(selector, oldFacet) Or one event like this: SetDiamondFacet(selector, facet) Or one event like this: DiamondFunctionSet(selector, oldFacet, newFacet) (When oldFacet is address(0) then it means adding a new function) (When newFacet is address(0) then it means removing a function) I am interested in feedback about this from developers, and people that work on indexers, block explorers and other tools that use events. The full draft ERC-8109 standard is here: eips.ethereum.org/EIPS/eip-8109 Discussion about this is here: ethereum-magicians.org/t/erc-8109-dia…
English
9
1
13
756
Josh retweetledi
nader dabit
nader dabit@dabit3·
Introducing Devin 2.2 - a new kind of cloud agent. @DevinAI agents test their own code by actually using it—clicking through UIs, verifying behavior, catching what static analysis misses. Ask Devin to record its session and see exactly what it did. Run multiple sessions in parallel, each with their own sandboxed environment. It's also 200% faster, and free to get started.
Cognition@cognition

Introducing Devin 2.2 – the autonomous agent that can test with computer use, self-verify, and auto-fix its work. Try it for free! We’ve also overhauled Devin from the ground up: - 3x faster startup - fully redesigned interface - computer use + virtual desktop ...and hundreds more UX and functionality improvements.

English
12
3
136
25.8K
Josh
Josh@devjoshstevens·
@skanda_bhat Can’t believe X algo is so dead this is super cool man top work 🔥🔥
English
1
0
1
39
skanda
skanda@skanda_bhat·
put a few frequently used evm skills into an open source skills repo that is built on top of cast and follows ethereum JSON-RPC. announcing: evm-skills 🧵 github.com/SkandaBhat/evm…
English
2
0
2
76
Convergence Boy
Convergence Boy@vicnaum·
3 weeks later - and it's done! Full Ethereum Mainnet synced from P2P in under a day on a 2014 MacMini to $100 external USB HDD. 787 GB, 5.9B events, free local RPC for indexing. Rust. 100% AI-coded. Open source. Meet SHiNode - Stateless History Node:
Convergence Boy@vicnaum

Stateless History Node is almost like a regular Ethereum node, but it doesn't store state and it doesn't have EVM execution. It's used only for syncing events and thus - is faster and gives you FREE INDEXING. You don't have to pay 6 figures for RPC anymore! Just spin up a Stateless History Node, plug rindexer or Ponder there, and enjoy free (AND FAST!!) indexing! This node is syncing >1000 blocks per second at my local pc (less than 6hrs for the whole Ethereum), and it should use less than 200GB - which means you can host it on a MacMini, Hetzner or whatever. You can futhermore filter that by using block ranges or bloom filters, etc - I haven't developed this yet. What you see is a proof of concept. It works via native devp2p 'eth' protocol, but with EIP4444 and The Prune we would have to also support era1 archives and Portal Network. But so far it works - there are plenty of peers serving historical receipts, and they serve them FAST! If you run Stateless History Node you can also serve the blocks and receipts - so that could help to preserve archival data too. For now there is no data validation yet (and even no data storage - that's a very early PoC), but we can verify validity of chain by simultaneously running a lightweight CL node (or not lightweight if you're extremely paranoid). And then support verifying the hashes of receipts and blocks with their parents, maintaining full integrity and zero trust. It's also written in rust, btw. So, I guess, at least for Ethereum Mainnet the era of RPC's pumping moneybags is over - there's finally a local, trustless and free indexing alternative available. Too sad this won't work for @Optimism / @base , cause despite introducing P2P after Bedrock - they haven't enabled receipts transfer in the protocol (or at least I couldn't find one). @arbitrum is even sadder - I don't believe there is a P2P layer at all - you just have to run your own node, hold state and execute blocks to get events. There is hope - @paradigm recently released Ress - stateless execution, but it requires nodes to support Witness preparation & exchange - but this could work for L2s - cause the main blocker for local RPCs rn is huge state (VPS with TB storage cost a lot), and the second blocker is EVM forks makes it hard to hold a node - it needs to be maintained, upgraded, etc. Ress at least solves the state part. But anyways, I will try to continue working on this and release some MVP version with RPC endpoint and data storage soon - follow the updates!

English
27
26
288
34.2K
ExoMonk.
ExoMonk.@0xExoMonk·
Just merged Prometheus metrics support into rindexer. EVM indexers shouldn't be black boxes; now you get /metrics endpoint out of the box for block lag, RPC latency, indexing throughput, and more. Now Released. rindexer getting closer to production-ready github.com/joshstevens19/…
English
2
0
7
324
Josh
Josh@devjoshstevens·
@bnj @variantui You legend incredible work 🔥🔥
English
0
0
0
55
Ben South
Ben South@bnj·
Introducing @variantui Enter an idea and get endless (beautiful) designs as you scroll No canvas, no skills or MCP, no constant prompting Reply if you'd like 200 free designs to give it try
English
2.2K
270
4.1K
1.1M
Péter Szilágyi
Péter Szilágyi@peter_szilagyi·
Is anyone else having issues with @rustrover lately? I've upgraded a couple days ago and it's unusable since. It literally hangs every 3-4 seconds for 2 secs. It's non stop allocating jumping between 1GB-3GB+ and back. Seems it'd looping something in the background.
English
9
0
13
3.3K
skanda
skanda@skanda_bhat·
cleaned up and open sourced a flashblocks extension to alloy. it doesnt do much, just adds 'pending' to all flashblocks-supported rpc methods and has a poller for streaming flashblocks: github.com/SkandaBhat/all… currently has support for streaming flashblocks, and querying preconf state makes developing with flashblocks enabled chains like base and unichain slightly easier!
English
1
0
3
104
Josh
Josh@devjoshstevens·
@spencerperkins_ #factory-cron-operations" target="_blank" rel="nofollow noopener">rindexer.xyz/docs/start-bui… give it a try
English
1
0
1
52
Josh
Josh@devjoshstevens·
Introducing Custom Tables for rindexer 🦀 Production indexers. Zero code. Just YAML. Events? YAML. Contract calls? YAML. Cron jobs? YAML. Filters? YAML. Computed values? YAML. Aggregations? YAML. DB schema? YAML. Schema migrations? YAML. Cross-chain state? YAML. GraphQL API? YAML. Track token balances, NFT ownership, DEX pools, lending protocols — anything on any EVM chain. Docs - rindexer.xyz/docs/start-bui…
English
11
12
114
20.8K
Josh
Josh@devjoshstevens·
@PatrickAlphaC Can’t wait to see one of your courses /videos teaching using it 🔥
English
0
0
1
67
Josh
Josh@devjoshstevens·
@Defipeniel Correct no code required
English
0
0
0
22
Convergence Boy
Convergence Boy@vicnaum·
The amount of research, spec'ing, product & architecture design done in less than a week is insane! And also I've used all my Cursor $200 plan :) Stateless History Node is almost ready - how I want it to be. Hope to release v0.2 tomorrow! @LefterisJP @devjoshstevens @banteg
Convergence Boy tweet media
English
1
0
4
728
Josh
Josh@devjoshstevens·
@spencerperkins_ Il take a look for you shouldn’t be hard but you need to have the event registered as well to make this work (to keep track of the emitted pools)
English
0
0
1
50
Josh
Josh@devjoshstevens·
@spencerperkins_ So say uniswap factory emits PoolCreated and then track via cron on those pools every n mins/hours etc? No that won’t work atm - something you need?
English
1
0
1
50
Spencer Perkins
Spencer Perkins@spencerperkins_·
@devjoshstevens Wow, that was fast, works great ⚡️🙏! Curious also if cron works with the factory pattern?
English
1
0
1
53