Interact with the Ethereum blockchain from the Internet Computer.
Make sure that Node.js >= 16.x
, dfx
>= 0.12.x
, 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
to build and deploy your application.
Front-end Webapp:
- TypeScript: JavaScript extended with syntax for types
- Vite: high-performance tooling for front-end web development
- React: a component-based UI library
- Tailwind: a highly expressive, utility-first CSS framework
- Prettier: code formatting for a wide range of supported languages
Back-end Canister:
- Motoko: a safe and simple programming language for the Internet Computer
- Mops: an on-chain community package manager for Motoko
- mo-dev: a live reload development server for Motoko
Ethereum Integration:
- Rust: a secure, high-performance canister programming language
- MetaMask: a wallet and browser extension for interacting with Ethereum dapps
- Vite developer docs
- React quick start guide
- Tailwind reference
- Internet Computer docs
dfx.json
reference schema- Motoko developer docs
- Mops usage instructions
- Rust canister guide
- MetaMask developer docs
- Customize your project's code style by editing the
.prettierrc
file and then runningnpm run format
. - Reduce the latency of update calls by passing the
--emulator
flag todfx start
. - Install a Motoko package by running
npx ic-mops add <package-name>
. Here is a list of available packages. - Split your frontend and backend console output by running
npm run frontend
andnpm run backend
in separate terminals.
Contributions are welcome! Please check out the contributor guidelines for more information.