<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>kindkang</title><description>kindness first — notes on blockchain, on-chain craft, and the people building it</description><link>https://kindkang.pages.dev/</link><item><title>Hello — what this blog is about</title><link>https://kindkang.pages.dev/posts/hello-world/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/hello-world/</guid><description>Why I&apos;m writing publicly about blockchain, and what you can expect to find here.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>Reading the Uniswap v4 hook spec</title><link>https://kindkang.pages.dev/posts/sample-001/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-001/</guid><pubDate>Sun, 15 Jan 2023 00:00:00 GMT</pubDate></item><item><title>EVM storage slot layout, end to end</title><link>https://kindkang.pages.dev/posts/sample-002/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-002/</guid><pubDate>Fri, 03 Feb 2023 00:00:00 GMT</pubDate></item><item><title>Foundry cheatcodes I reach for daily</title><link>https://kindkang.pages.dev/posts/sample-003/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-003/</guid><pubDate>Wed, 22 Feb 2023 00:00:00 GMT</pubDate></item><item><title>What `delegatecall` actually does to storage</title><link>https://kindkang.pages.dev/posts/sample-004/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-004/</guid><pubDate>Mon, 13 Mar 2023 00:00:00 GMT</pubDate></item><item><title>ERC-4337 entrypoint walkthrough</title><link>https://kindkang.pages.dev/posts/sample-005/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-005/</guid><description>A practical look at the parts that surprised me.</description><pubDate>Sat, 01 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Why your gas estimate is lying to you</title><link>https://kindkang.pages.dev/posts/sample-006/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-006/</guid><description>Notes from rebuilding it the long way.</description><pubDate>Thu, 20 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Notes on signature malleability</title><link>https://kindkang.pages.dev/posts/sample-007/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-007/</guid><description>What the spec says, what the code does, and where they disagree.</description><pubDate>Tue, 09 May 2023 00:00:00 GMT</pubDate></item><item><title>L2 sequencer downtime, who pays</title><link>https://kindkang.pages.dev/posts/sample-008/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-008/</guid><description>Things I wish I&apos;d known before reading the contracts.</description><pubDate>Sun, 28 May 2023 00:00:00 GMT</pubDate></item><item><title>Rebuilding ecrecover from scratch</title><link>https://kindkang.pages.dev/posts/sample-009/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-009/</guid><pubDate>Fri, 16 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Solidity inline assembly, when it earns its keep</title><link>https://kindkang.pages.dev/posts/sample-010/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-010/</guid><pubDate>Wed, 05 Jul 2023 00:00:00 GMT</pubDate></item><item><title>A small Optimism bedrock primer</title><link>https://kindkang.pages.dev/posts/sample-011/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-011/</guid><pubDate>Mon, 24 Jul 2023 00:00:00 GMT</pubDate></item><item><title>Auditing a vault: my checklist</title><link>https://kindkang.pages.dev/posts/sample-012/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-012/</guid><pubDate>Sat, 12 Aug 2023 00:00:00 GMT</pubDate></item><item><title>How CREATE2 salts get mined</title><link>https://kindkang.pages.dev/posts/sample-013/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-013/</guid><description>A practical look at the parts that surprised me.</description><pubDate>Thu, 31 Aug 2023 00:00:00 GMT</pubDate></item><item><title>MEV-Boost relays, ranked</title><link>https://kindkang.pages.dev/posts/sample-014/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-014/</guid><description>Notes from rebuilding it the long way.</description><pubDate>Tue, 19 Sep 2023 00:00:00 GMT</pubDate></item><item><title>What I broke trying to write a Merkle tree</title><link>https://kindkang.pages.dev/posts/sample-015/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-015/</guid><description>What the spec says, what the code does, and where they disagree.</description><pubDate>Sun, 08 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Proxy patterns: transparent vs UUPS, in practice</title><link>https://kindkang.pages.dev/posts/sample-016/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-016/</guid><description>Things I wish I&apos;d known before reading the contracts.</description><pubDate>Fri, 27 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Permit2 explained for the impatient</title><link>https://kindkang.pages.dev/posts/sample-017/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-017/</guid><pubDate>Thu, 16 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Walking through an Aave liquidation</title><link>https://kindkang.pages.dev/posts/sample-018/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-018/</guid><pubDate>Tue, 05 Dec 2023 00:00:00 GMT</pubDate></item><item><title>Tracing a calldata-only oracle attack</title><link>https://kindkang.pages.dev/posts/sample-019/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-019/</guid><pubDate>Sun, 24 Dec 2023 00:00:00 GMT</pubDate></item><item><title>Cairo for Solidity people</title><link>https://kindkang.pages.dev/posts/sample-020/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-020/</guid><pubDate>Fri, 12 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Move&apos;s resource model in one diagram</title><link>https://kindkang.pages.dev/posts/sample-021/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-021/</guid><description>A practical look at the parts that surprised me.</description><pubDate>Wed, 31 Jan 2024 00:00:00 GMT</pubDate></item><item><title>What the EIP-1559 base fee actually does</title><link>https://kindkang.pages.dev/posts/sample-022/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-022/</guid><description>Notes from rebuilding it the long way.</description><pubDate>Mon, 19 Feb 2024 00:00:00 GMT</pubDate></item><item><title>Reading EVM bytecode without crying</title><link>https://kindkang.pages.dev/posts/sample-023/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-023/</guid><description>What the spec says, what the code does, and where they disagree.</description><pubDate>Sat, 09 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Three patterns I see in bad audit reports</title><link>https://kindkang.pages.dev/posts/sample-024/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-024/</guid><description>Things I wish I&apos;d known before reading the contracts.</description><pubDate>Thu, 28 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Why I stopped trusting `block.timestamp`</title><link>https://kindkang.pages.dev/posts/sample-025/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-025/</guid><pubDate>Tue, 16 Apr 2024 00:00:00 GMT</pubDate></item><item><title>State pruning, archive nodes, and you</title><link>https://kindkang.pages.dev/posts/sample-026/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-026/</guid><pubDate>Sun, 05 May 2024 00:00:00 GMT</pubDate></item><item><title>Building a tiny zkVM from scratch</title><link>https://kindkang.pages.dev/posts/sample-027/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-027/</guid><pubDate>Fri, 24 May 2024 00:00:00 GMT</pubDate></item><item><title>Frame protocol primer</title><link>https://kindkang.pages.dev/posts/sample-028/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-028/</guid><pubDate>Wed, 12 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Yield aggregator design tradeoffs</title><link>https://kindkang.pages.dev/posts/sample-029/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-029/</guid><description>A practical look at the parts that surprised me.</description><pubDate>Mon, 01 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Account abstraction&apos;s wallet UX problem</title><link>https://kindkang.pages.dev/posts/sample-030/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-030/</guid><description>Notes from rebuilding it the long way.</description><pubDate>Sat, 20 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Reading Tornado Cash&apos;s circuits</title><link>https://kindkang.pages.dev/posts/sample-031/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-031/</guid><description>What the spec says, what the code does, and where they disagree.</description><pubDate>Thu, 08 Aug 2024 00:00:00 GMT</pubDate></item><item><title>Optimistic vs ZK rollups, again, properly</title><link>https://kindkang.pages.dev/posts/sample-032/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-032/</guid><description>Things I wish I&apos;d known before reading the contracts.</description><pubDate>Tue, 27 Aug 2024 00:00:00 GMT</pubDate></item><item><title>How I write fuzz tests for invariants</title><link>https://kindkang.pages.dev/posts/sample-033/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-033/</guid><pubDate>Mon, 16 Sep 2024 00:00:00 GMT</pubDate></item><item><title>Slither rules I find genuinely useful</title><link>https://kindkang.pages.dev/posts/sample-034/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-034/</guid><pubDate>Sat, 05 Oct 2024 00:00:00 GMT</pubDate></item><item><title>DEX aggregator routing, simplified</title><link>https://kindkang.pages.dev/posts/sample-035/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-035/</guid><pubDate>Thu, 24 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Notes on Merkle Patricia tries</title><link>https://kindkang.pages.dev/posts/sample-036/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-036/</guid><pubDate>Tue, 12 Nov 2024 00:00:00 GMT</pubDate></item><item><title>Comparing on-chain governance models</title><link>https://kindkang.pages.dev/posts/sample-037/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-037/</guid><description>A practical look at the parts that surprised me.</description><pubDate>Sun, 01 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Solana account model from an EVM mindset</title><link>https://kindkang.pages.dev/posts/sample-038/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-038/</guid><description>Notes from rebuilding it the long way.</description><pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Why most bridges are insurance products</title><link>https://kindkang.pages.dev/posts/sample-039/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-039/</guid><description>What the spec says, what the code does, and where they disagree.</description><pubDate>Wed, 08 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Pyth vs Chainlink, structurally</title><link>https://kindkang.pages.dev/posts/sample-040/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-040/</guid><description>Things I wish I&apos;d known before reading the contracts.</description><pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Cancun upgrade, what changed for users</title><link>https://kindkang.pages.dev/posts/sample-041/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-041/</guid><pubDate>Sat, 15 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Blob transactions and what they cost</title><link>https://kindkang.pages.dev/posts/sample-042/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-042/</guid><pubDate>Thu, 06 Mar 2025 00:00:00 GMT</pubDate></item><item><title>DA-only chains, the honest pitch</title><link>https://kindkang.pages.dev/posts/sample-043/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-043/</guid><pubDate>Tue, 25 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Reading the Lido withdrawal queue</title><link>https://kindkang.pages.dev/posts/sample-044/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-044/</guid><pubDate>Sun, 13 Apr 2025 00:00:00 GMT</pubDate></item><item><title>What MEV redistribution actually looks like</title><link>https://kindkang.pages.dev/posts/sample-045/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-045/</guid><description>A practical look at the parts that surprised me.</description><pubDate>Fri, 02 May 2025 00:00:00 GMT</pubDate></item><item><title>Proto-danksharding for the impatient</title><link>https://kindkang.pages.dev/posts/sample-046/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-046/</guid><description>Notes from rebuilding it the long way.</description><pubDate>Wed, 21 May 2025 00:00:00 GMT</pubDate></item><item><title>Stablecoin peg defense, observed</title><link>https://kindkang.pages.dev/posts/sample-047/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-047/</guid><description>What the spec says, what the code does, and where they disagree.</description><pubDate>Mon, 09 Jun 2025 00:00:00 GMT</pubDate></item><item><title>A short tour of intent-based architectures</title><link>https://kindkang.pages.dev/posts/sample-048/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-048/</guid><description>Things I wish I&apos;d known before reading the contracts.</description><pubDate>Sat, 28 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Reading Curve&apos;s pool math</title><link>https://kindkang.pages.dev/posts/sample-049/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-049/</guid><pubDate>Fri, 18 Jul 2025 00:00:00 GMT</pubDate></item><item><title>How Synthetix v3 markets compose</title><link>https://kindkang.pages.dev/posts/sample-050/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-050/</guid><pubDate>Wed, 06 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Concentrated liquidity, the under-discussed risks</title><link>https://kindkang.pages.dev/posts/sample-051/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-051/</guid><pubDate>Mon, 25 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Withdrawal credentials and validator life</title><link>https://kindkang.pages.dev/posts/sample-052/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-052/</guid><pubDate>Sat, 13 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Soulbound tokens, what survives</title><link>https://kindkang.pages.dev/posts/sample-053/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-053/</guid><description>A practical look at the parts that surprised me.</description><pubDate>Thu, 02 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Reading Optimism&apos;s fault proof</title><link>https://kindkang.pages.dev/posts/sample-054/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-054/</guid><description>Notes from rebuilding it the long way.</description><pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Cross-chain replay, once more</title><link>https://kindkang.pages.dev/posts/sample-055/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-055/</guid><description>What the spec says, what the code does, and where they disagree.</description><pubDate>Sun, 09 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Foundry vs Hardhat, in 2026</title><link>https://kindkang.pages.dev/posts/sample-056/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-056/</guid><description>Things I wish I&apos;d known before reading the contracts.</description><pubDate>Fri, 28 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Reading Aave v3 risk parameters</title><link>https://kindkang.pages.dev/posts/sample-057/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-057/</guid><pubDate>Wed, 17 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Why your invariant test is too kind</title><link>https://kindkang.pages.dev/posts/sample-058/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-058/</guid><pubDate>Mon, 05 Jan 2026 00:00:00 GMT</pubDate></item><item><title>What account abstraction does to gas markets</title><link>https://kindkang.pages.dev/posts/sample-059/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-059/</guid><pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Bridges and the narrative of finality</title><link>https://kindkang.pages.dev/posts/sample-060/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-060/</guid><pubDate>Thu, 12 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Notes on building a price oracle, badly</title><link>https://kindkang.pages.dev/posts/sample-061/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-061/</guid><description>A practical look at the parts that surprised me.</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Reading the EigenLayer slasher</title><link>https://kindkang.pages.dev/posts/sample-062/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-062/</guid><description>Notes from rebuilding it the long way.</description><pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Subgraphs, when they&apos;re worth it</title><link>https://kindkang.pages.dev/posts/sample-063/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-063/</guid><description>What the spec says, what the code does, and where they disagree.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate></item><item><title>A small note on revert reason encoding</title><link>https://kindkang.pages.dev/posts/sample-064/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-064/</guid><description>Things I wish I&apos;d known before reading the contracts.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate></item><item><title>The day a `safeTransferFrom` ate our liquidity</title><link>https://kindkang.pages.dev/posts/sample-erc777-reentrancy/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-erc777-reentrancy/</guid><description>A vault drain that started with a 3am page and ended with a long, calm reading of the ERC777 spec.</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate></item><item><title>An interactive Taiji, embedded with MDX</title><link>https://kindkang.pages.dev/posts/sample-taiji-mdx/</link><guid isPermaLink="true">https://kindkang.pages.dev/posts/sample-taiji-mdx/</guid><description>Demo of an interactive React component embedded inside an MDX post.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item></channel></rss>