๐ŸŒฒ Start Reading Threads
Web3 Protocol Forum ยท Est. 2023

The best protocols grew the way forests do โ€”
from root systems no one sees.

A decentralized campfire for Solidity engineers, protocol architects, and DAO contributors. No Discord noise. No hot takes. Just threads that run deeper than the chain.

Wander deeper
0+Protocol Engineers
0+Threads Archived
0Protocols Discussed
0.0Avg. Signal Score
0Chains Covered

Living threads

1,247 active now

The forest floor, catalogued.

Every card is a real thread. Every tag filters the board live. Find your answer before you consider signing up.

12 threads in the forest

๐ŸŒฟ Smart Contracts๐Ÿ“Œ Pinned๐Ÿ”ฅ Hot
2h ago

Re-entrancy in Foundry: writing tests that actually catch the attack vector

After the Curve exploit I went back and rewrote all my reentrancy tests. Standard checks-effects-interactions isn't enough when you're dealing with ERC-777 callbacks. Here's the pattern I've been using...

function testReentrancy() public {
  // attacker deploys malicious receiver
  Attacker atk = new Attacker(vault);
  vm.expectRevert("ReentrancyGuard");
  atk.attack{value: 1 ether}();
}
RV
KO
AM
47
๐Ÿ‚ Governance๐Ÿ”ฅ Hot
5h ago

Snapshot vs. on-chain voting: the governance trilemma no one talks about

Cheap off-chain signaling or expensive on-chain finality? We've been running a hybrid model at Arbor DAO for six months. The gas costs alone changed how we think about quorum...

TN
SB
89
๐ŸŒฑ Beginner
1d ago

I just bridged my first token and I have questions about the re-entrancy warnings

No condescension please โ€” I'm trying to understand why my bridge contract keeps flagging on Slither. The warning says "reentrancy-eth" but I thought I had the pattern right...

LM
DK
23
๐Ÿชต Infrastructure
3d ago

Optimizing calldata encoding for L2 batch submissions โ€” 40% gas reduction

Posting results from three weeks of profiling our sequencer. The trick isn't in the contract logic โ€” it's in how you pack your calldata before submission. ABI encoding leaves a lot of zeros on the table...

// Before: naive ABI encoding
bytes calldata = abi.encode(
  addr, amount, nonce
); // 96 bytes, lots of zeros

// After: custom tight packing
bytes packed = abi.encodePacked(
  bytes20(addr),
  uint96(amount)
); // 32 bytes
PW
YC
FR
61
๐ŸŒฟ Smart Contracts
4d ago

EIP-7702: account abstraction without the complexity overhead

Everyone's been sleeping on 7702. It's not as flashy as 4337 but for teams building on existing EOA infrastructure, the migration path is dramatically simpler...

AJ
34
๐Ÿ‚ Governance๐Ÿ“Œ Pinned๐Ÿ”ฅ Hot
6d ago

Temperature check: should ArborDAO redirect 15% of treasury to core dev grants?

Current treasury: $4.2M in ETH and stables. The core team hasn't had a dedicated grant round in 14 months. I'm drafting a proposal for 630k over 12 months. Feedback before I post on Snapshot...

MC
RB
NF
142
๐ŸŒŠ DeFi
1w ago

Uniswap v4 hooks deep dive: building a TWAP oracle that doesn't get sandwiched

The hooks architecture opens up price oracle designs that weren't possible before. I've been building a manipulation-resistant TWAP using the afterSwap hook...

function afterSwap(
  address sender,
  PoolKey calldata key,
  SwapParams calldata,
  BalanceDelta delta,
  bytes calldata
) external override returns (bytes4) {
  _updateOracle(key.toId(), delta);
  return BaseHook.afterSwap.selector;
}
ZK
VH
56
๐ŸŒฑ Beginner
1w ago

What's the actual difference between `delegatecall` and `call` โ€” ELI5?

I keep reading the docs but the execution context explanation isn't clicking. Is there a mental model that makes this intuitive for someone coming from Solidity basics?

OK
JS
18
๐Ÿชต Infrastructure
2w ago

Running Reth on bare metal: tuning for archive node performance

After six months of running Geth I switched to Reth. The sync time difference alone was worth it. Here's my full config for a 32-core machine with NVMe RAID...

TB
CL
HM
29
๐ŸŒฟ Smart Contracts๐Ÿ”ฅ Hot
2w ago

OpenZeppelin 5.0 AccessControl changes broke our upgrade path โ€” here's the fix

If you're upgrading from OZ 4.x and using AccessControl, the role hash changes will silently break your admin functions. This isn't in the migration guide clearly enough...

EP
GW
73
๐ŸŒŠ DeFi๐Ÿ“Œ Pinned
3w ago

MEV protection strategies for protocol designers โ€” a taxonomy

Not all MEV is equal. Sandwich attacks, JIT liquidity, backrunning โ€” each requires a different mitigation strategy. I've been cataloging approaches across 40+ protocols...

NR
BK
OJ
98
๐ŸŒฑ Beginner
3w ago

How do gas refunds work in EIP-3529? I thought SSTORE refunds were removed

Reading the yellow paper and I'm confused about what actually changed. The refund mechanism for SSTORE is still there in some form but the cap changed?

WA
11

Navigate the canopy

Every ecosystem has its own logic.

Five distinct zones, each with its own depth, its own vocabulary, its own regulars who know every root system by heart.

๐ŸŒฟ

Smart Contracts

24,800

threads

Solidity patterns, security audits, EVM internals, and upgrade strategies. The densest canopy in the forest.

312 active today
๐Ÿ‚

Governance

8,400

threads

DAO mechanics, proposal frameworks, treasury management, and the philosophy of on-chain coordination.

89 active today
๐ŸŒฑ

Beginner

15,600

threads

No question too basic. The forest starts somewhere.

201 active today
๐Ÿชต

Infrastructure

6,200

threads

Node operation, sequencers, indexers, RPC providers, and the substrate everything else runs on.

67 active today
๐ŸŒŠ

DeFi

19,300

threads

AMMs, lending protocols, MEV, liquidations, and the fluid mechanics of on-chain markets.

445 active today
Open to all builders

Plant your first root.

Join 14,200+ engineers who read the threads others don't. No noise, no hype โ€” just accumulated knowledge composting into something useful.

No spam. No tokens. No Discord invites unless you ask.