用 IC canister 验证以太坊 NFT 所有权,覆盖主网与 Sepolia、Goerli 测试网
icp-eth-starter — Vite 启动器模板
作者 dfinity
在 Internet Computer 上验证以太坊 NFT 所有权的启动项目,前端用 Vite + React,后端为 Motoko 与 Rust canister,支持主网及 Sepolia、Goerli 测试网。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
前端为 TypeScript + Vite + React + Tailwind,后端 canister 使用 Motoko
以太坊集成基于 Rust 与 ethers-core,钱包交互使用 MetaMask
提供 npm run setup 一键完成依赖安装、canister 部署与类型绑定生成
README 给出从 MetaMask 领测试币、铸造 NFT 到验证所有权的完整操作路径
仓库处于早期 beta,并注明正在进行内部安全审查
模板详细介绍
这是一个面向有经验的 Web3 开发者的启动项目,目标是在 Internet Computer(IC)上通过 canister 验证以太坊 NFT 的所有权。项目同时支持以太坊主网以及 Sepolia、Goerli 测试网,README 中给出了在 Sepolia 上获取测试 NFT 并到演示站点 /verify 页面验证所有权的完整流程。
技术组成上,前端使用 TypeScript、Vite、React、Tailwind 与 Prettier;后端 canister 使用 Motoko,并借助 Mops 管理 Motoko 包、mo-dev 提供热重载;以太坊集成部分使用 Rust 与 ethers-core,钱包交互依赖 MetaMask。仓库自带 dfx.json 与 npm 脚本,可通过 npm run setup 完成依赖安装、canister 部署与类型绑定生成。
项目状态为早期 beta,README 明确说明正在进行内部安全审查,并欢迎通过 issue 报告问题或提出功能需求。因此它更适合作为学习与实验起点,而非直接投入生产。
适合你的项目吗?
适用场景
- 学习如何在 Internet Computer 上读取和验证以太坊链上数据
- 搭建需要以太坊 NFT 持有者身份校验的 IC 应用原型
- 在 Sepolia 或 Goerli 测试网上演练 IC 与以太坊的跨链交互流程
- 作为 Motoko canister 与 Rust canister 混合项目的参考结构
适合人群
- 有 Web3 经验、熟悉以太坊与钱包操作的开发者
- 需要 IC 与以太坊集成示例的团队或个人
- 希望研究 Motoko、Rust canister 与前端类型绑定流程的开发者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需预先安装 Node.js >= 16、dfx >= 0.14 以及最新版 Rust
- 2
执行 rustup target add wasm32-unknown-unknown 以支持 Rust canister 开发
- 3
在空目录运行 npx degit dfinity/ic-eth-starter 获取项目
- 4
依次运行 dfx start --clean --background、npm run setup、npm start
- 5
部署到主网使用 dfx deploy --network ic;验证 NFT 需准备 MetaMask 钱包与测试网 NFT
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 Apache-2.0 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发;分发时需随附 Apache-2.0 许可证。
- 修改过的文件需显著标明改动,并保留相关版权、专利、商标及归属声明。
- 若原项目附有 NOTICE 文件,分发衍生作品时需保留其中适用的归属声明。
- 许可包含适用的贡献者专利授权;发起许可所述专利诉讼会终止该专利授权,且不授予商标使用权。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 在 Sepolia 测试网获取测试代币需注册 Alchemy 账户,属于外部服务账号要求,非代码许可限制。
- 验证 NFT 所有权需安装 MetaMask 钱包并创建账户,属于外部工具依赖。
- 项目处于早期 beta 且正在进行内部安全审查,README 未声明生产可用性。
- 仓库处于早期 beta 测试阶段,功能与接口可能变动,不适合直接用于生产环境。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 Apache-2.0 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
no-charge, royalty-free, irrevocable copyright license
许可证原文
Fund your wallet using the [Sepolia Faucet](https://sepoliafaucet.com/) (requires signing up for an [Alchemy](https://www.alchemy.com/) account)
README 原文
Install [MetaMask](https://metamask.io/) and create a new wallet for testing purposes
README 原文
this starter project is currently undergoing an internal security review
README 原文
https://github.com/dfinity/icp-eth-starter/blob/main/LICENSEhttps://github.com/dfinity/icp-eth-starter/blob/main/README.mdThis repository is in early beta testing
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 92 / 100
- 技术栈
- Vite · React
- 网站类型
- 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-04-09
- 截图检查日期
- 2026-10-02
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Vite。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: 6ff02759e652504ef20a4d6c67dd0c2a25bd80934d8ceac84d3d6089221c6263
2026-10-02T22:06:23.887Z
来源文件 / 仓库# ICP 🔗 Ethereum (Beta) > #### Interact with the [Ethereum](https://ethereum.org/) blockchain from the [Internet Computer](https://internetcomputer.org/). --- ## [🌐 View Deployed Dapp](https://xm3ir-rqaaa-aaaap-abhqq-cai.icp0.io/) Designed for experienced Web3 developers, this starter project uses an IC canister to verify the ownership of Ethereum NFTs, with support for both the [Sepolia](https://www.alchemy.com/overviews/sepolia-testnet) and [Goerli](https://goerli.net/) testnets in addition to the Ethereum mainnet. This repository is in early beta testing; please feel free to [open an issue](https://github.com/dfinity/ic-eth-starter/issues) to report a bug or request a feature. Thanks! **Note:** this starter project is currently undergoing an internal security review. This message will be removed once the review process is complete. ## 🎬 Create a New Project Make sure that [Node.js](https://nodejs.org/en/) `>= 16`, [`dfx`](https://internetcomputer.org/docs/current/developer-docs/build/install-upgrade-remove) `>= 0.14`, and the latest version of [Rust](https://www.rust-lang.org/tools/install) are installed on your system. Set up Rust canister development with the following command: ```sh rustup target add wasm32-unknown-unknown ``` Run the following commands in a new, empty project directory: ```sh npx degit dfinity/ic-eth-starter # Download this starter project dfx start --clean --background # Run dfx in the background npm run setup # Install packages, deploy canisters, and generate type bindings npm start # Start the development server ``` When ready, run `dfx deploy --network ic` to deploy your application to the Internet Computer. ## 🔌 Prepare a Testnet Wallet Here is one way to acquire tokens and NFTs on the [Sepolia](https://www.alchemy.com/overviews/sepolia-testnet) testnet: - Install [MetaMask](https://metamask.io/) and create a new wallet for testing purposes - Fund your wallet using the [Sepolia Faucet](https://sepoliafaucet.com/) (requires signing up for an [Alchemy](https://www.alchemy.com/) account) - Navigate to MetaMask's [E2E Test Dapp](https://metamask.github.io/test-dapp/) - Connect your wallet - In your MetaMask extension, change the network from "Ethereum Mainnet" to "Sepolia" ([visual guide](https://support.metamask.io/hc/en-us/articles/13946422437147-How-to-view-testnets-in-MetaMask)) - Scroll down to the "NFTs" section - Press "Deploy" and then "Mint" (may take a few seconds) - Press "Watch all NFTs" and in the MetaMask prompt, click the link with text "Test Dapp NFTs #1" - In the bottom-right of the page (under "TokenID"), press "#1" to view your newly minted NFT - Copy / paste the URL into the [ICP 🔗 Ethereum demo project](https://xm3ir-rqaaa-aaaap-abhqq-cai.icp0.io/verify) to verify that you are the owner of the NFT. ## 🛠️ Technology Stack **Front-end Webapp:** - [TypeScript](https://www.typescriptlang.org/): JavaScript extended with syntax for types - [Vite](https://vitejs.dev/): high-performance tooling for front-end web development - [React](https://reactjs.org/): a component-based UI library - [Tailwind](https://tailwindcss.com/): a highly expressive, utility-first CSS framework - [Prettier](https://prettier.io/): code formatting for a wide range of supported languages **Back-end Canister:** - [Motoko](https://github.com/dfinity/motoko#readme): a safe and simple programming language for the Internet Computer - [Mops](https://mops.one): an on-chain community package manager for Motoko - [mo-dev](https://github.com/dfinity/motoko-dev-server#readme): a live reload development server for Motoko **Ethereum Integration:** - [Rust](https://www.rust-lang.org/): a secure, high-performance canister programming language - [ethers-core](https://github.com/gakonst/ethers-rs): a popular Rust library for working with Ethereum data structures - [MetaMask](https://metamask.io/): a wallet and browser extension for interacting with Ethereum dapps ## 📚 Documentation - [Vite developer docs](https://vitejs.dev/guide/) - [React quick start guide](https://react.dev/learn) - [Tailwind reference](https://v2.tailwindcss.com/docs) - [Internet Computer docs](https://internetcomputer.org/docs/current/developer-docs/ic-overview) - [`dfx.json` reference schema](https://internetcomputer.org/docs/current/references/dfx-json-reference/) - [Motoko developer docs](https://internetcomputer.org/docs/current/developer-docs/build/cdks/motoko-dfinity/motoko/) - [Mops usage instructions](https://j4mwm-bqaaa-aaaam-qajbq-cai.ic0.app/#/docs/install) - [Rust canister guide](https://internetcomputer.org/docs/current/developer-docs/backend/rust/) - [MetaMask developer docs](https://docs.metamask.io/) ## 💡 Tips and Tricks - Customize your project's code style by editing the `.prettierrc` file and then running `npm run format`. - Reduce the latency of update calls by passing the `--emulator` flag to `dfx start`. - Install a Motoko package by running `npx ic-mops add <package-name>`. Here is a [list of available packages](https://mops.one/). - Split your frontend and backend console output by running `npm run frontend` and `npm run backend` in separate terminals. --- Contributions are welcome! Please check out the [contributor guidelines](https://github.com/dfinity/ic-eth-starter/blob/main/.github/CONTRIBUTING.md) for more information.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

react-starter-kit
Modern React starter kit with Bun, TypeScript, Tailwind CSS, tRPC, Stripe, and Cloudflare Workers. Production-…
Vite · SaaS

cove
The Cove Stack: 🏝️ minimal TanStack Start template with Vite+, Better Auth, Drizzle ORM, shadcn/ui
Vite · SaaS

vite-react-boilerplate
A production ready, scalable starter template for Vite + React
Vite · 启动器

react-vite-admin
This Starter utilizes React, Recoil, React Query, React Hooks, Typescript, Axios And Vite. 全新技术栈的后台管理系统
Vite · 后台

typescript-react_best_practices-vite_template
<⚡⚛️> Start your React project with Vite following code best practices (TypeScript, Linting, testing, CI/CD…)
Vite · 启动器

cloudflare-starter-kit
Template (boilerplate) repository for scaffolding Cloudflare Workers projects
Vite · 启动器
