{"id":13523290,"url":"https://github.com/dfinity/icp-eth-starter","last_synced_at":"2025-09-02T16:56:02.893Z","repository":{"id":190434000,"uuid":"672304861","full_name":"dfinity/icp-eth-starter","owner":"dfinity","description":"An advanced starter project for interacting with Ethereum on the Internet Computer (Beta)","archived":false,"fork":false,"pushed_at":"2025-08-25T08:36:33.000Z","size":1661,"stargazers_count":45,"open_issues_count":6,"forks_count":18,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-08-28T05:53:46.499Z","etag":null,"topics":["cross-chain","dfinity","ethereum","example","internet-computer","motoko","nft","react","rust","starter-project","tailwind","template","twin-macro","vite"],"latest_commit_sha":null,"homepage":"https://xm3ir-rqaaa-aaaap-abhqq-cai.icp0.io/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfinity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-29T16:05:20.000Z","updated_at":"2025-02-22T14:05:01.000Z","dependencies_parsed_at":"2024-11-02T07:32:08.300Z","dependency_job_id":"fd9d87e1-90c5-4fc8-bcca-4a5c756911aa","html_url":"https://github.com/dfinity/icp-eth-starter","commit_stats":null,"previous_names":["dfinity/ic-eth-starter","dfinity/icp-eth-starter"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/dfinity/icp-eth-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfinity%2Ficp-eth-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfinity%2Ficp-eth-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfinity%2Ficp-eth-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfinity%2Ficp-eth-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfinity","download_url":"https://codeload.github.com/dfinity/icp-eth-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfinity%2Ficp-eth-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273317764,"owners_count":25084037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-chain","dfinity","ethereum","example","internet-computer","motoko","nft","react","rust","starter-project","tailwind","template","twin-macro","vite"],"created_at":"2024-08-01T06:00:58.526Z","updated_at":"2025-09-02T16:56:02.871Z","avatar_url":"https://github.com/dfinity.png","language":"TypeScript","readme":"# ICP 🔗 Ethereum (Beta)\n\n\u003e #### Interact with the [Ethereum](https://ethereum.org/) blockchain from the [Internet Computer](https://internetcomputer.org/).\n\n---\n\n## [🌐  View Deployed Dapp](https://xm3ir-rqaaa-aaaap-abhqq-cai.icp0.io/)\n\nDesigned 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.\n\nThis 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!\n\n**Note:** this starter project is currently undergoing an internal security review. This message will be removed once the review process is complete.\n\n## 🎬 Create a New Project\n\nMake sure that [Node.js](https://nodejs.org/en/) `\u003e= 16`, [`dfx`](https://internetcomputer.org/docs/current/developer-docs/build/install-upgrade-remove) `\u003e= 0.14`, and the latest version of [Rust](https://www.rust-lang.org/tools/install) are installed on your system.\n\nSet up Rust canister development with the following command:\n\n```sh\nrustup target add wasm32-unknown-unknown\n```\n\nRun the following commands in a new, empty project directory:\n\n```sh\nnpx degit dfinity/ic-eth-starter # Download this starter project\ndfx start --clean --background # Run dfx in the background\nnpm run setup # Install packages, deploy canisters, and generate type bindings\n\nnpm start # Start the development server\n```\n\nWhen ready, run `dfx deploy --network ic` to deploy your application to the Internet Computer.\n\n## 🔌 Prepare a Testnet Wallet\n\nHere is one way to acquire tokens and NFTs on the [Sepolia](https://www.alchemy.com/overviews/sepolia-testnet) testnet:\n\n- Install [MetaMask](https://metamask.io/) and create a new wallet for testing purposes\n- Fund your wallet using the [Sepolia Faucet](https://sepoliafaucet.com/) (requires signing up for an [Alchemy](https://www.alchemy.com/) account)\n- Navigate to MetaMask's [E2E Test Dapp](https://metamask.github.io/test-dapp/)\n  - Connect your wallet\n  - 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))\n  - Scroll down to the \"NFTs\" section\n  - Press \"Deploy\" and then \"Mint\" (may take a few seconds)\n  - Press \"Watch all NFTs\" and in the MetaMask prompt, click the link with text \"Test Dapp NFTs #1\"\n  - In the bottom-right of the page (under \"TokenID\"), press \"#1\" to view your newly minted NFT\n  - 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. \n\n## 🛠️ Technology Stack\n\n**Front-end Webapp:**\n- [TypeScript](https://www.typescriptlang.org/): JavaScript extended with syntax for types\n- [Vite](https://vitejs.dev/): high-performance tooling for front-end web development\n- [React](https://reactjs.org/): a component-based UI library\n- [Tailwind](https://tailwindcss.com/): a highly expressive, utility-first CSS framework\n- [Prettier](https://prettier.io/): code formatting for a wide range of supported languages\n\n**Back-end Canister:**\n- [Motoko](https://github.com/dfinity/motoko#readme): a safe and simple programming language for the Internet Computer\n- [Mops](https://mops.one): an on-chain community package manager for Motoko\n- [mo-dev](https://github.com/dfinity/motoko-dev-server#readme): a live reload development server for Motoko\n\n**Ethereum Integration:**\n- [Rust](https://www.rust-lang.org/): a secure, high-performance canister programming language\n- [ethers-core](https://github.com/gakonst/ethers-rs): a popular Rust library for working with Ethereum data structures\n- [MetaMask](https://metamask.io/): a wallet and browser extension for interacting with Ethereum dapps\n\n## 📚 Documentation\n\n- [Vite developer docs](https://vitejs.dev/guide/)\n- [React quick start guide](https://react.dev/learn)\n- [Tailwind reference](https://v2.tailwindcss.com/docs)\n- [Internet Computer docs](https://internetcomputer.org/docs/current/developer-docs/ic-overview)\n- [`dfx.json` reference schema](https://internetcomputer.org/docs/current/references/dfx-json-reference/)\n- [Motoko developer docs](https://internetcomputer.org/docs/current/developer-docs/build/cdks/motoko-dfinity/motoko/)\n- [Mops usage instructions](https://j4mwm-bqaaa-aaaam-qajbq-cai.ic0.app/#/docs/install)\n- [Rust canister guide](https://internetcomputer.org/docs/current/developer-docs/backend/rust/)\n- [MetaMask developer docs](https://docs.metamask.io/)\n\n## 💡 Tips and Tricks\n\n- Customize your project's code style by editing the `.prettierrc` file and then running `npm run format`.\n- Reduce the latency of update calls by passing the `--emulator` flag to `dfx start`.\n- Install a Motoko package by running `npx ic-mops add \u003cpackage-name\u003e`. Here is a [list of available packages](https://mops.one/).\n- Split your frontend and backend console output by running `npm run frontend` and `npm run backend` in separate terminals.\n\n---\n\nContributions are welcome! Please check out the [contributor guidelines](https://github.com/dfinity/ic-eth-starter/blob/main/.github/CONTRIBUTING.md) for more information.\n","funding_links":[],"categories":["Chain Fusion"],"sub_categories":["Ethereum"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfinity%2Ficp-eth-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfinity%2Ficp-eth-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfinity%2Ficp-eth-starter/lists"}