diff --git a/app/experiment/event/page.tsx b/app/experiment/event/page.tsx new file mode 100644 index 0000000..ccfd673 --- /dev/null +++ b/app/experiment/event/page.tsx @@ -0,0 +1,560 @@ +'use client' + +import Link from 'next/link' +import { useState } from 'react' + +/** + * Experimental Event Page — ATL-123 Visual Experiment + * + * This is a static mockup using Socratic #48 data to demonstrate + * what a more visual, card-based topic layout could look like. + * In production, this would parse the MDX content dynamically. + */ + +type Topic = { + title: string + url: string + description: string + sublinks?: { title: string; url: string }[] +} + +type SubCategory = { + name: string + topics: Topic[] +} + +type Category = { + name: string + color: string + bgColor: string + borderColor: string + darkBg: string + icon: string + subcategories: SubCategory[] +} + +const categories: Category[] = [ + { + name: 'Bitcoin', + color: 'text-amber-700 dark:text-amber-400', + bgColor: 'bg-amber-50', + darkBg: 'dark:bg-amber-950/20', + borderColor: 'border-amber-200 dark:border-amber-800', + icon: '₿', + subcategories: [ + { + name: 'Cryptography', + topics: [ + { + title: 'DahLIAS paper accepted to Eurocrypt', + url: 'https://x.com/blksresearch/status/2031667618298605930', + description: 'Cross-input signature aggregation paper accepted into a mainstream cryptography conference', + sublinks: [{ title: 'CISA paper', url: 'https://eprint.iacr.org/' }], + }, + { + title: 'Partial fraction techniques for cryptography', + url: 'https://x.com/kostascrypto/status/2017507147043504261', + description: 'Achieves constant-time, constant-size key-value commitments using bilinear pairing', + }, + ], + }, + { + name: 'Bitcoin Core', + topics: [ + { + title: '24bit nonce space implementation', + url: 'https://github.com/bitcoin/bitcoin/pull/34779', + description: 'PR implementing the draft BIP to expand nVersion nonce space to 24 bits', + }, + { + title: 'BDK Version 3.0.0-rc1', + url: 'https://github.com/bitcoindevkit/bdk_wallet/releases/tag/v3.0.0-rc.1', + description: 'First release candidate for BDK v3.0.0', + }, + { + title: 'OP_RETURN Output Statistics', + url: 'https://delvingbitcoin.org/t/recent-op-return-output-statistics/2248', + description: 'Only 0.44% of OP_RETURN data used the new larger sizes after Core v30.0 relaxed limits', + }, + { + title: 'Hornet Node v0.1', + url: 'https://delvingbitcoin.org/t/hornet-node-v0-1-update/2300', + description: 'Standalone specification of Bitcoin consensus rules, separate from the reference client', + }, + { + title: 'Default dbcache → 1 GiB', + url: 'https://github.com/bitcoin/bitcoin/issues/34692', + description: 'Default dbcache doubled on 64-bit systems with ≥4 GiB RAM', + }, + { + title: 'Libsecp256k1: Runtime SHA256 API', + url: 'https://github.com/bitcoin-core/secp256k1/issues/1777', + description: 'Custom SHA256 compression function at runtime, enabling hardware-accelerated hashing', + }, + ], + }, + { + name: 'Security & Testing', + topics: [ + { + title: 'The Core Issue: Keeping Bitcoin Core Secure', + url: 'https://bitcoinmagazine.com/print/the-core-issue-keeping-bitcoin-core-secure', + description: 'Security disclosure policy, fuzzing infrastructure, and testing toolkit', + }, + { + title: 'Writing Fuzz Targets for Wallets', + url: 'https://delvingbitcoin.org/t/writing-fuzz-targets-for-wallets-avoiding-known-issues/2316', + description: 'Performance and determinism pitfalls when fuzzing Bitcoin wallets', + }, + { + title: 'Bitcoin++ Exploits Hackathon', + url: 'https://loot.fund/hackathons/bitcoin-exploits-edition/applications', + description: 'Exploits-themed hackathon with notable results', + sublinks: [ + { title: '1st: Minesploit', url: 'https://loot.fund/hackathons/bitcoin-exploits-edition/applications/3' }, + { title: '2nd: Local Probe', url: 'https://loot.fund/hackathons/bitcoin-exploits-edition/applications/13' }, + { title: '3rd: C12d AI assistant', url: 'https://c12d.vercel.app/' }, + ], + }, + ], + }, + { + name: 'Post-Quantum', + topics: [ + { + title: 'PQ Provers for P2PKH Outputs', + url: 'https://delvingbitcoin.org/t/pq-provers-for-p2pkh-outputs/2287', + description: 'Post-quantum proof schemes to protect legacy P2PKH outputs', + }, + { + title: 'Hourglass V2', + url: 'https://groups.google.com/g/bitcoindev/c/0E1UyyQIUA0', + description: 'Rate-limiting P2PK UTXO spending (1 BTC/block) as quantum attack mitigation', + }, + { + title: 'Limitations of Cryptographic Agility', + url: 'https://groups.google.com/g/bitcoindev/c/O6l3GUvyO7A', + description: 'Pieter Wuille examines trade-offs of adding cryptographic agility to consensus rules', + }, + ], + }, + { + name: 'BIPs & Proposals', + topics: [ + { + title: '24 nVersion Bits for General Use', + url: 'https://groups.google.com/g/bitcoindev/c/fCfbi8hy-AE', + description: 'Matt Corallo proposes expanding nonce space from 16 to 24 bits', + }, + { + title: 'Output Script Descriptor Annotations', + url: 'https://bitcoinops.org/en/newsletters/2026/02/27/#draft-bip-for-output-script-descriptor-annotations', + description: 'Metadata like wallet birthday and gap limit appended to descriptors', + }, + { + title: 'BIP392: Silent Payment Descriptors', + url: 'https://github.com/bitcoin/bips/issues/2047', + description: 'New sp() descriptor for silent payment wallets', + }, + { + title: 'Great Script Restoration BIPs', + url: 'https://groups.google.com/g/bitcoindev/c/GisTcPb8Jco/m/8znWcWwKAQAJ', + description: 'Rusty Russell\'s varops budget + tapscript leaf 0xc2 BIPs', + }, + ], + }, + { + name: 'Covenants & Script', + topics: [ + { + title: 'Binohash: Introspection Without Softforks', + url: 'https://x.com/robin_linus/status/2026700104774856827', + description: 'First mined transaction demonstrating limited covenants using only existing script', + }, + { + title: 'Duty-Free Bits: Projectivizing Garbling', + url: 'https://x.com/AlpenLabs/status/2031043052735971623', + description: '20-45x size reduction in offchain garbling for BitVM', + }, + ], + }, + ], + }, + { + name: 'Lightning', + color: 'text-purple-700 dark:text-purple-400', + bgColor: 'bg-purple-50', + darkBg: 'dark:bg-purple-950/20', + borderColor: 'border-purple-200 dark:border-purple-800', + icon: '⚡', + subcategories: [ + { + name: 'Protocol & Infrastructure', + topics: [ + { + title: 'Lightning Gossip via Minisketch', + url: 'https://github.com/jharveyb/gossip_observer', + description: 'Fixing Lightning gossip using minisketch for efficient set reconciliation', + }, + { + title: 'LND Adds Onion Message Forwarding', + url: 'https://github.com/lightningnetwork/lnd/pull/10089', + description: 'Perhaps the last Lightning implementation to support onion messages', + }, + { + title: 'LDK: Collaborative Multipath Payments', + url: 'https://github.com/lightningdevkit/rust-lightning/issues/4373', + description: 'Multiple wallets can collaboratively pay a single invoice', + }, + { + title: 'Eclair: Auto Channel Type Selection', + url: 'https://github.com/ACINQ/eclair/issues/3250', + description: 'Defaults to anchor channels, simple taproot channels expected next', + }, + { + title: 'LDK: Trampoline Routing Groundwork', + url: 'https://github.com/lightningdevkit/rust-lightning/issues/4304', + description: 'Enabling trampoline nodes to act as MPP endpoints on both sides', + }, + { + title: 'LDK: Dual Funding on Splices', + url: 'https://github.com/lightningdevkit/rust-lightning/issues/4416', + description: 'Acceptor can contribute funds when both peers splice simultaneously', + }, + ], + }, + ], + }, + { + name: 'Layer 2s', + color: 'text-rose-700 dark:text-rose-400', + bgColor: 'bg-rose-50', + darkBg: 'dark:bg-rose-950/20', + borderColor: 'border-rose-200 dark:border-rose-800', + icon: '🧱', + subcategories: [ + { + name: 'Ark & Beyond', + topics: [ + { + title: 'V-PACK: Stateless VTXO Verification', + url: 'https://www.vtxopack.org/', + description: 'Standard for independently verifying VTXO exit paths in the Ark ecosystem', + }, + { + title: 'Second Releases hArk-based Ark Software', + url: 'https://docs.second.tech/changelog/changelog/#010-beta6', + description: 'Uses hash-lock Ark to eliminate synchronous interactivity during rounds', + }, + { + title: 'Ark Labs Raises $5.2M with Tether', + url: 'https://bitcoinmagazine.com/news/ark-labs-raises-5-2m-with-tether', + description: 'Seed round to build production Ark infrastructure', + }, + { + title: 'Crest — Privacy Tool on Citrea', + url: 'https://x.com/crest_btc', + description: 'Privacy-focused protocol building on the Citrea Bitcoin rollup', + }, + { + title: 'Park — Privacy in Ark', + url: 'https://uncensoredtech.substack.com/p/park', + description: 'Proposal for adding privacy features to the Ark protocol', + }, + ], + }, + { + name: 'Ecash', + topics: [ + { + title: 'Fedimint SDK → React Native', + url: 'https://x.com/ALewin/status/2029333061058363643', + description: 'Mobile devs can now integrate Fedimint directly into cross-platform apps', + }, + ], + }, + ], + }, + { + name: 'Business', + color: 'text-emerald-700 dark:text-emerald-400', + bgColor: 'bg-emerald-50', + darkBg: 'dark:bg-emerald-950/20', + borderColor: 'border-emerald-200 dark:border-emerald-800', + icon: '💼', + subcategories: [ + { + name: 'Industry Moves', + topics: [ + { + title: 'Strike: Bitcoin Line of Credit', + url: 'https://x.com/Strike/status/2028974333708644588', + description: 'Borrow against your Bitcoin without selling', + }, + { + title: 'Strike Gets BitLicense', + url: 'https://x.com/mattcrv/status/2029994842386813422', + description: 'Approved by NYDFS to serve New York customers', + }, + { + title: 'Square: Auto Bitcoin Payments', + url: 'https://x.com/BitcoinNewsCom/status/2033967355483615732', + description: 'Lightning payments accepted by all Square merchants by default starting March 30', + }, + { + title: 'COLDCARD Proof-of-Reserves', + url: 'https://x.com/COLDCARDwallet/status/2029684130938531965', + description: 'Perfect for audits, transparency reports, or flexing your reserves', + }, + { + title: 'SEC & CFTC Clarify Crypto Law', + url: 'https://www.sec.gov/newsroom/press-releases/2026-30-sec-clarifies-application-federal-securities-laws-crypto-assets', + description: 'Commodities, collectibles, mining, and wrapping explicitly excluded from securities law', + }, + ], + }, + ], + }, + { + name: 'AI', + color: 'text-cyan-700 dark:text-cyan-400', + bgColor: 'bg-cyan-50', + darkBg: 'dark:bg-cyan-950/20', + borderColor: 'border-cyan-200 dark:border-cyan-800', + icon: '🤖', + subcategories: [ + { + name: 'AI × Bitcoin', + topics: [ + { + title: 'AI Tooling for Code Review', + url: 'https://delvingbitcoin.org/t/using-ai-tooling-for-code-review/2277', + description: 'Discussion on integrating AI tools into Bitcoin Core code review', + }, + { + title: 'Open Source Agents Need Payments', + url: 'https://x.com/TheBlueMatt/status/2026667191475777727', + description: 'Matt Corallo argues AI agents need native payment rails like Lightning', + }, + { + title: 'Unhuman Store', + url: 'https://unhuman.store/', + description: 'Suite of AI agent services accepting Lightning payments via L402', + }, + { + title: 'Mail Mike', + url: 'https://mailmike.lol/', + description: 'AI email agent accepting Lightning payments', + }, + { + title: 'MDK + MPP: Lightning Paywalls', + url: 'https://x.com/JohnCantrell97/status/2034377639079600242', + description: 'One line of code for self-custodial Lightning paywalls on Cloudflare Workers', + sublinks: [ + { title: 'mdk-cloudflare', url: 'https://github.com/johncantrell97/mdk-cloudflare' }, + { title: 'MPP Protocol', url: 'https://mpp.dev/' }, + ], + }, + ], + }, + ], + }, +] + +function TopicCard({ topic, color }: { topic: Topic; color: string }) { + return ( +
+ +

+ {topic.title} + +

+

+ {topic.description} +

+ {topic.sublinks && topic.sublinks.length > 0 && ( +
+ {topic.sublinks.map((sub, i) => ( + + {sub.title} + + ))} +
+ )} +
+
+ ) +} + +function CategorySection({ category }: { category: Category }) { + const [expanded, setExpanded] = useState(true) + const topicCount = category.subcategories.reduce((acc, sub) => acc + sub.topics.length, 0) + + return ( +
+ {/* Category header */} + + + {/* Topics */} + {expanded && ( +
+ {category.subcategories.map((sub, i) => ( +
0 ? 'mt-6' : ''}> +

+ + {sub.name} +

+
+ {sub.topics.map((topic, j) => ( + + ))} +
+
+ ))} +
+ )} +
+ ) +} + +export default function ExperimentEvent() { + const [filter, setFilter] = useState(null) + + const displayed = filter + ? categories.filter(c => c.name.toLowerCase() === filter) + : categories + + const totalTopics = categories.reduce( + (acc, cat) => acc + cat.subcategories.reduce((a, s) => a + s.topics.length, 0), + 0 + ) + + return ( +
+ {/* Event header */} +
+
+ + ← Back to home + + +
+
+ +

+ Socratic Seminar #48 +

+

+ Deep dives into Bitcoin protocol, Lightning, Layer 2s, business developments, and AI. +

+
+ +
+
{totalTopics}
+
topics
+
+
+
+
+ + {/* Filter bar */} +
+
+ Filter: + + {categories.map((cat) => { + const count = cat.subcategories.reduce((a, s) => a + s.topics.length, 0) + return ( + + ) + })} +
+
+ + {/* Categories */} +
+ {displayed.map((cat) => ( + + ))} +
+ + {/* Event logistics */} +
+
+
+
+

What is a Socratic?

+

+ Topics are provided ahead of the event. A moderator leads discussion. + Raise your hand to grab the mic. We go to dinner afterwards. +

+
+
+

📍 Location

+

+ ATL BitLab
+ 684 John Wesley Dobbs Ave NE, Suite A1
+ Atlanta, GA 30312 +

+
+
+

🅿️ Parking

+

+ Gravel lot with “tenants only” sign or right in front of the fence. + Avoid valet areas. Look for the orange door. +

+
+
+

💬 Connect

+

+ Telegram · {' '} + Meetup +

+
+
+
+
+
+ ) +} diff --git a/app/experiment/page.tsx b/app/experiment/page.tsx new file mode 100644 index 0000000..ebdb291 --- /dev/null +++ b/app/experiment/page.tsx @@ -0,0 +1,186 @@ +import { + ContentType, + getSortedMarkdownContent, +} from '@/lib/parse-markdown-files' + +import Image from 'next/image' +import Link from 'next/link' +import { meetup } from '@/meetup' + +const categoryColors: Record = { + bitcoin: { bg: 'bg-amber-50 dark:bg-amber-950/30', border: 'border-amber-300 dark:border-amber-700', text: 'text-amber-700 dark:text-amber-400', icon: '₿' }, + lightning: { bg: 'bg-purple-50 dark:bg-purple-950/30', border: 'border-purple-300 dark:border-purple-700', text: 'text-purple-700 dark:text-purple-400', icon: '⚡' }, + business: { bg: 'bg-emerald-50 dark:bg-emerald-950/30', border: 'border-emerald-300 dark:border-emerald-700', text: 'text-emerald-700 dark:text-emerald-400', icon: '💼' }, + ai: { bg: 'bg-cyan-50 dark:bg-cyan-950/30', border: 'border-cyan-300 dark:border-cyan-700', text: 'text-cyan-700 dark:text-cyan-400', icon: '🤖' }, + layer2: { bg: 'bg-rose-50 dark:bg-rose-950/30', border: 'border-rose-300 dark:border-rose-700', text: 'text-rose-700 dark:text-rose-400', icon: '🧱' }, + default: { bg: 'bg-neutral-50 dark:bg-neutral-800', border: 'border-neutral-300 dark:border-neutral-700', text: 'text-neutral-700 dark:text-neutral-400', icon: '📝' }, +} + +export default function ExperimentHome() { + const eventsContentData = getSortedMarkdownContent(ContentType.Events) + const latestEvent = eventsContentData[0] + + return ( +
+ {/* Hero - Full bleed, dramatic */} +
+ {/* Animated grid background */} +
+
+
+ +
+
+ {/* Left: Identity */} +
+
+ Atlanta BitDevs +
+
+ + {/* Right: Content */} +
+
+

Atlanta

+

+ BitDevs +

+
+ +

+ A community for those interested in discussing and participating in + the research and development of{' '} + Bitcoin and related protocols. +

+ +
+ + All Events → + + + Join Meetup + + + About + +
+
+
+
+
+ + {/* Featured Event - Large card */} + {latestEvent && ( +
+
+
+
+ Latest Event +
+
+ + +
+
+
+ +

+ {latestEvent.title} +

+

+ Deep dives into the latest Bitcoin protocol developments, security research, and Lightning innovations. +

+
+
+ → +
+
+ + {/* Topic pills */} +
+ {Object.entries(categoryColors).filter(([k]) => k !== 'default').map(([key, colors]) => ( + + {colors.icon} {key === 'layer2' ? 'Layer 2s' : key.charAt(0).toUpperCase() + key.slice(1)} + + ))} +
+
+ +
+
+ )} + + {/* Previous Events - Compact grid */} +
+
+

Previous Seminars

+ +
+ {eventsContentData.slice(1, 7).map(({ id, date, title }, i) => ( + + +

+ {title} +

+ + View topics → + + + ))} +
+ +
+ + View all events → + +
+
+
+ + {/* Info strip */} +
+
+
+
+

📍 Location

+

+ ATL BitLab
+ 684 John Wesley Dobbs Ave NE
+ Suite A1, Atlanta, GA 30312 +

+
+
+

📅 Schedule

+

+ Third Tuesday of every month
+ Doors open at 6:30 PM
+ We go to dinner afterwards +

+
+
+

🤝 Join Us

+

+ All skill levels welcome
+ Free and open to everyone
+ #LearnBitcoinTogether +

+
+
+
+
+
+ ) +}