mirror of
https://github.com/hanzoai/bootnode.git
synced 2026-10-25 02:31:30 +00:00
Hanzo CI/CD / cicd (push) Failing after 44m41s
CI/CD / cicd (push) Failing after 44m42s
Claude-Session: https://claude.ai/code/session_01WfkhhyQsijWm2ZAW144SVo
343 lines
14 KiB
TypeScript
343 lines
14 KiB
TypeScript
"use client"
|
|
|
|
import Link from "next/link"
|
|
import { Button } from "@/components/ui/button"
|
|
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
|
|
import { Badge } from "@/components/ui/badge"
|
|
import { Navbar } from "@/components/navbar"
|
|
import { Footer } from "@/components/footer"
|
|
import {
|
|
ArrowRight,
|
|
Blocks,
|
|
CheckCircle2,
|
|
Code2,
|
|
Coins,
|
|
Gauge,
|
|
Globe,
|
|
Layers,
|
|
Lock,
|
|
Network,
|
|
Rocket,
|
|
Settings,
|
|
Wrench,
|
|
Zap,
|
|
} from "@luxfi/ui/icons"
|
|
import { getBrand } from "@/lib/brand"
|
|
import { docsConfig } from "@/lib/docs-config"
|
|
|
|
export default function RollupsProductPage() {
|
|
const brand = getBrand()
|
|
|
|
return (
|
|
<div className="flex min-h-screen flex-col">
|
|
<Navbar />
|
|
|
|
{/* Hero */}
|
|
<section className="relative overflow-hidden border-b bg-gradient-to-b from-background to-muted/20">
|
|
<div className="absolute inset-0 bg-[linear-gradient(to_right,#4f4f4f2e_1px,transparent_1px),linear-gradient(to_bottom,#4f4f4f2e_1px,transparent_1px)] bg-[size:14px_24px] [mask-image:radial-gradient(ellipse_60%_50%_at_50%_0%,#000_70%,transparent_100%)]" />
|
|
<div className="container relative py-24 md:py-32 lg:py-40">
|
|
<div className="mx-auto flex max-w-4xl flex-col items-center text-center">
|
|
<Badge variant="secondary" className="mb-4">
|
|
<Layers className="mr-1 h-3 w-3" />
|
|
Custom Rollups
|
|
</Badge>
|
|
<h1 className="text-4xl font-bold tracking-tight sm:text-5xl md:text-6xl lg:text-7xl">
|
|
Your own chain,{" "}
|
|
<span className="bg-gradient-to-r from-orange-500 to-rose-500 bg-clip-text text-transparent">
|
|
your rules
|
|
</span>
|
|
</h1>
|
|
<p className="mt-6 max-w-2xl text-lg text-muted-foreground md:text-xl">
|
|
Launch a custom rollup with dedicated block space, your own gas
|
|
token, and a built-in bridge to Ethereum. OP Stack or ZK rollup
|
|
technology, fully managed by {brand.name}.
|
|
</p>
|
|
<div className="mt-10 flex flex-col gap-4 sm:flex-row">
|
|
<Button size="xl" asChild>
|
|
<Link href="/contact">
|
|
Request Access
|
|
<ArrowRight className="ml-2 h-4 w-4" />
|
|
</Link>
|
|
</Button>
|
|
<Button size="xl" variant="outline" asChild>
|
|
<Link href="/docs">Read the Docs</Link>
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{/* Why a Rollup */}
|
|
<section className="border-b py-24">
|
|
<div className="container">
|
|
<div className="grid grid-cols-1 gap-12 lg:grid-cols-2 lg:gap-16">
|
|
<div className="flex flex-col justify-center">
|
|
<h2 className="text-3xl font-bold tracking-tight sm:text-4xl">
|
|
Why launch your own rollup?
|
|
</h2>
|
|
<p className="mt-4 text-lg text-muted-foreground">
|
|
Shared blockchains impose shared constraints. When your app
|
|
needs predictable gas costs, higher throughput, or custom
|
|
execution rules, a dedicated rollup gives you full control
|
|
without sacrificing Ethereum security.
|
|
</p>
|
|
<ul className="mt-8 space-y-4">
|
|
{[
|
|
{
|
|
title: "Dedicated block space",
|
|
desc: "No competing with other apps for gas. Your users get consistent, predictable transaction costs.",
|
|
},
|
|
{
|
|
title: "Custom gas token",
|
|
desc: "Use your own ERC-20 token for gas fees. Create a closed-loop economy within your ecosystem.",
|
|
},
|
|
{
|
|
title: "Ethereum security",
|
|
desc: "All state roots are posted to Ethereum L1. Your rollup inherits the full security guarantees of Ethereum consensus.",
|
|
},
|
|
{
|
|
title: "Scale with demand",
|
|
desc: "Throughput grows with your users, not with gas wars.",
|
|
},
|
|
].map((item) => (
|
|
<li key={item.title} className="flex items-start gap-3">
|
|
<CheckCircle2 className="mt-1 h-5 w-5 shrink-0 text-green-500" />
|
|
<div>
|
|
<div className="font-semibold">{item.title}</div>
|
|
<div className="text-sm text-muted-foreground">
|
|
{item.desc}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
</div>
|
|
<div className="flex flex-col justify-center gap-6">
|
|
<Card className="border-orange-500/20 bg-gradient-to-br from-orange-500/5 to-rose-500/5">
|
|
<CardHeader>
|
|
<CardTitle className="flex items-center gap-2">
|
|
<Blocks className="h-5 w-5 text-orange-500" />
|
|
OP Stack Rollup
|
|
</CardTitle>
|
|
</CardHeader>
|
|
<CardContent>
|
|
<p className="text-sm text-muted-foreground">
|
|
Battle-tested optimistic rollup technology used by Base,
|
|
Optimism, and Worldchain. Fraud proofs secure your chain
|
|
while delivering 100x cost reduction over Ethereum L1.
|
|
EVM-equivalent execution means any Solidity contract deploys
|
|
without changes.
|
|
</p>
|
|
</CardContent>
|
|
</Card>
|
|
<Card className="border-purple-500/20 bg-gradient-to-br from-purple-500/5 to-blue-500/5">
|
|
<CardHeader>
|
|
<CardTitle className="flex items-center gap-2">
|
|
<Lock className="h-5 w-5 text-purple-500" />
|
|
ZK Rollup
|
|
</CardTitle>
|
|
</CardHeader>
|
|
<CardContent>
|
|
<p className="text-sm text-muted-foreground">
|
|
Zero-knowledge proofs provide cryptographic finality in
|
|
minutes instead of the 7-day challenge period of optimistic
|
|
rollups. Ideal for applications that require fast bridging,
|
|
privacy features, or provable computation.
|
|
</p>
|
|
</CardContent>
|
|
</Card>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{/* What's Included */}
|
|
<section className="border-b bg-muted/30 py-24">
|
|
<div className="container">
|
|
<div className="mx-auto max-w-2xl text-center">
|
|
<h2 className="text-3xl font-bold tracking-tight sm:text-4xl">
|
|
Everything included out of the box
|
|
</h2>
|
|
<p className="mt-4 text-lg text-muted-foreground">
|
|
{brand.name} manages the entire rollup lifecycle: sequencer, prover,
|
|
bridge, explorer, and monitoring. You focus on your application.
|
|
</p>
|
|
</div>
|
|
<div className="mt-16 grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
|
|
<FeatureCard
|
|
icon={<Rocket className="h-6 w-6" />}
|
|
title="Managed Sequencer"
|
|
description={`High-availability sequencer. ${brand.name} runs and monitors the sequencer so your chain stays live.`}
|
|
/>
|
|
<FeatureCard
|
|
icon={<Network className="h-6 w-6" />}
|
|
title="Built-In Bridge"
|
|
description="Native L1-L2 bridge for ETH and ERC-20 tokens. Users can deposit and withdraw assets between Ethereum and your rollup through a standard bridge UI."
|
|
/>
|
|
<FeatureCard
|
|
icon={<Globe className="h-6 w-6" />}
|
|
title="Block Explorer"
|
|
description="A fully-featured block explorer deployed with your rollup. Transaction search, contract verification, token tracking, and API access included."
|
|
/>
|
|
<FeatureCard
|
|
icon={<Coins className="h-6 w-6" />}
|
|
title="Custom Gas Token"
|
|
description="Configure any ERC-20 token as the gas currency on your rollup. Set fee parameters, configure fee recipients, and create token-gated access if needed."
|
|
/>
|
|
<FeatureCard
|
|
icon={<Code2 className="h-6 w-6" />}
|
|
title="Developer Tools"
|
|
description={`Full RPC endpoint, Hardhat and Foundry support, faucet for testnet tokens, and ${brand.name} Data APIs pre-configured for your chain from day one.`}
|
|
/>
|
|
<FeatureCard
|
|
icon={<Gauge className="h-6 w-6" />}
|
|
title="Monitoring & Analytics"
|
|
description="Real-time dashboards for TPS, gas usage, active addresses, and bridge volume. Alerts for sequencer health, proof submission delays, and chain reorgs."
|
|
/>
|
|
<FeatureCard
|
|
icon={<Wrench className="h-6 w-6" />}
|
|
title="Config & Governance"
|
|
description="Adjust gas limits, block time, fee parameters, and upgrade contracts through a governance dashboard. All changes are version-controlled and auditable."
|
|
/>
|
|
<FeatureCard
|
|
icon={<Settings className="h-6 w-6" />}
|
|
title="Custom Precompiles"
|
|
description="Add custom precompiled contracts for specialized operations. VRF, signature schemes, or domain-specific computation at native speed."
|
|
/>
|
|
<FeatureCard
|
|
icon={<Zap className="h-6 w-6" />}
|
|
title="Account Abstraction"
|
|
description="ERC-4337 bundler and paymaster are pre-deployed on every rollup. Your users get smart wallets and gasless transactions from day one."
|
|
/>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{/* Timeline */}
|
|
<section className="border-b py-24">
|
|
<div className="container">
|
|
<div className="mx-auto max-w-2xl text-center">
|
|
<h2 className="text-3xl font-bold tracking-tight sm:text-4xl">
|
|
From zero to mainnet in under a day
|
|
</h2>
|
|
<p className="mt-4 text-lg text-muted-foreground">
|
|
{brand.name} handles the heavy lifting. You define the parameters, we
|
|
deploy the infrastructure.
|
|
</p>
|
|
</div>
|
|
<div className="mt-16 grid gap-6 md:grid-cols-4">
|
|
<StepCard
|
|
step="1"
|
|
title="Configure"
|
|
description={`Choose your rollup type (OP Stack or ZK), gas token, block time, and genesis parameters through the ${brand.name} dashboard.`}
|
|
/>
|
|
<StepCard
|
|
step="2"
|
|
title="Deploy"
|
|
description={`${brand.name} provisions the sequencer, prover, bridge contracts, and RPC infrastructure. Testnet is live within minutes.`}
|
|
/>
|
|
<StepCard
|
|
step="3"
|
|
title="Test"
|
|
description="Deploy your contracts, run integration tests, and validate performance on your dedicated testnet with full tooling support."
|
|
/>
|
|
<StepCard
|
|
step="4"
|
|
title="Launch"
|
|
description="Promote to mainnet with a single click. Bridge contracts are deployed to Ethereum L1 and your chain is live for users."
|
|
/>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{/* CTA */}
|
|
<section className="py-24">
|
|
<div className="container">
|
|
<div className="relative overflow-hidden rounded-3xl bg-gradient-to-r from-orange-600 to-rose-600 px-6 py-20 sm:px-12 sm:py-28">
|
|
<div className="absolute inset-0 bg-[linear-gradient(to_right,#ffffff1a_1px,transparent_1px),linear-gradient(to_bottom,#ffffff1a_1px,transparent_1px)] bg-[size:14px_24px]" />
|
|
<div className="relative mx-auto max-w-2xl text-center">
|
|
<h2 className="text-3xl font-bold tracking-tight text-white sm:text-4xl">
|
|
Your chain. Your rules. Our infrastructure.
|
|
</h2>
|
|
<p className="mt-4 text-lg text-white/80">
|
|
Talk to our team about launching a custom rollup. We will help
|
|
you choose the right architecture and get you to mainnet fast.
|
|
</p>
|
|
<div className="mt-10 flex flex-col justify-center gap-4 sm:flex-row">
|
|
<Button
|
|
size="xl"
|
|
className="bg-white text-orange-600 hover:bg-white/90"
|
|
asChild
|
|
>
|
|
<Link href="/contact">
|
|
Request Access
|
|
<ArrowRight className="ml-2 h-4 w-4" />
|
|
</Link>
|
|
</Button>
|
|
<Button
|
|
size="xl"
|
|
variant="outline"
|
|
className="border-white/30 bg-transparent text-white hover:bg-white/10"
|
|
asChild
|
|
>
|
|
<Link href="/docs">Read the Docs</Link>
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<Footer />
|
|
</div>
|
|
)
|
|
}
|
|
|
|
function FeatureCard({
|
|
icon,
|
|
title,
|
|
description,
|
|
}: {
|
|
icon: React.ReactNode
|
|
title: string
|
|
description: string
|
|
}) {
|
|
return (
|
|
<Card className="h-full">
|
|
<CardHeader>
|
|
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-primary/10 text-primary">
|
|
{icon}
|
|
</div>
|
|
<CardTitle className="mt-4">{title}</CardTitle>
|
|
</CardHeader>
|
|
<CardContent>
|
|
<p className="text-sm text-muted-foreground">{description}</p>
|
|
</CardContent>
|
|
</Card>
|
|
)
|
|
}
|
|
|
|
function StepCard({
|
|
step,
|
|
title,
|
|
description,
|
|
}: {
|
|
step: string
|
|
title: string
|
|
description: string
|
|
}) {
|
|
return (
|
|
<Card className="h-full">
|
|
<CardHeader>
|
|
<div className="flex h-10 w-10 items-center justify-center rounded-full bg-primary text-sm font-bold text-primary-foreground">
|
|
{step}
|
|
</div>
|
|
<CardTitle className="mt-4">{title}</CardTitle>
|
|
</CardHeader>
|
|
<CardContent>
|
|
<p className="text-sm text-muted-foreground">{description}</p>
|
|
</CardContent>
|
|
</Card>
|
|
)
|
|
}
|