Skip to content

Conversation

@0xmaayan
Copy link
Contributor

@0xmaayan 0xmaayan commented Jan 28, 2026

Summary

Adds a new example application demonstrating how Ethereum developers can build a file upload dApp on Shelby Protocol.

Changes

  • Added apps/ethereum/file-upload - A Next.js app with:

    • File upload to Shelby's decentralized storage
    • Ethereum wallet connection via RainbowKit
    • Drag-and-drop file upload UI
    • Storage account derivation from Ethereum address
  • Updated pnpm-workspace.yaml to include apps/ethereum/*

Key Dependencies

  • @shelby-protocol/sdk - Core TypeScript SDK
  • @shelby-protocol/ethereum-kit - Ethereum wallet integration
  • @shelby-protocol/react - React hooks for blob uploads
  • @rainbow-me/rainbowkit - Wallet connection UI
  • wagmi - Ethereum hooks

How to Test

cd apps/ethereum/file-upload
cp .env.example .env
# Add your Shelby API key to .env
pnpm dev

Note

Medium Risk
Adds a brand-new Next.js app with wallet integration and client-side uploads; main risk is dependency/lockfile churn and correctness of the new upload + signing flow, but it’s isolated to an example app.

Overview
Adds a new apps/ethereum/file-upload example Next.js app that lets users connect an Ethereum wallet (RainbowKit/Wagmi) and upload a selected file to Shelby using @shelby-protocol/sdk + @shelby-protocol/react.

Includes project scaffolding/config (next.config.ts enabling async WebAssembly, Tailwind/PostCSS setup, Shadcn UI config), an .env.example for NEXT_PUBLIC_SHELBY_API_KEY, and a large pnpm-lock.yaml update; pnpm-workspace.yaml is updated to include apps/ethereum/*.

Written by Cursor Bugbot for commit f1d280a. This will update automatically on new commits. Configure here.

- Add new example app for Ethereum developers
- Demonstrates file upload to Shelby using RainbowKit wallet connection
- Includes FileUploader component with drag-and-drop UI
- Uses @shelby-protocol/ethereum-kit for Ethereum wallet integration
- Updated pnpm-workspace.yaml to include apps/ethereum/*
- Replace next lint with biome check
- Remove unused eslint dependencies
- Add aria-hidden to decorative SVGs
- Use semantic section element for drop zone
- Fix string concatenation to template literal
@0xmaayan 0xmaayan force-pushed the feat/ethereum-file-upload-example branch from b00e29f to f1d280a Compare January 28, 2026 22:37
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants