Interact with the Ethereum blockchain from the Internet Computer.
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 and Goerli testnets in addition to the Ethereum mainnet.
This repository is in early beta testing; please feel free to open an issue 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.
Make sure that Node.js >= 16
, dfx
>= 0.14
, and the latest version of Rust are installed on your system.
Set up Rust canister development with the following command:
rustup target add wasm32-unknown-unknown
Run the following commands in a new, empty project directory:
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.
Here is one way to acquire tokens and NFTs on the Sepolia testnet:
Front-end Webapp:
Back-end Canister:
Ethereum Integration:
dfx.json
reference schema.prettierrc
file and then running npm run format
.--emulator
flag to dfx start
.npx ic-mops add <package-name>
. Here is a list of available packages.npm run frontend
and npm run backend
in separate terminals.Contributions are welcome! Please check out the contributor guidelines for more information.