|
1 | | -Add an overview for this tab |
2 | | -Example: https://docs.starknet.io/ |
| 1 | +# Quick Start |
| 2 | + |
| 3 | +This tutorial guides you to start quickly with Zama’s **Fully Homomorphic Encryption (FHE)** technology for building confidential smart contracts.  |
| 4 | + |
| 5 | +## What You’ll Learn |
| 6 | + |
| 7 | +In about 20 minutes, you will: |
| 8 | + |
| 9 | +- Build your first **confidential ERC20** contract that leverages FHE. |
| 10 | +- Deploy the contract on the **Sepolia** Network. |
| 11 | +- **Mint tokens** and **perform transactions** in FHE. |
| 12 | +- Build a **frontend application** for your contract. |
| 13 | + |
| 14 | +## Prerequisite |
| 15 | + |
| 16 | +- A basic understanding of **Solidity** library and **Ethereum**. |
| 17 | +- A certain amount of **Sepolia ETH** available. |
| 18 | + -  If you don’t have enough ETH, use a Sepolia faucet to request free SepoliaETH for testing such as [Alchemy Faucet](https://www.alchemy.com/faucets/ethereum-sepolia) or [QuickNode Faucet](https://faucet.quicknode.com/ethereum/sepolia). |
| 19 | + |
| 20 | +## What is Confidential ERC20 |
| 21 | + |
| 22 | +The contract that you will build with this tutorial is called `ConfidentialERC20Mintable` — a privacy-preserving ERC20 implementation that leverages **FHE** to keep balances and transactions confidential. To understand this contract, let’s first introduce the foundational concepts. |
| 23 | + |
| 24 | +**ERC20** |
| 25 | + |
| 26 | +ERC20 is a widely used token standard on Ethereum that defines a set of rules for creating and managing fungible tokens. These tokens are efficient but lack privacy — balances and transactions are visible to anyone on the blockchain. |
| 27 | + |
| 28 | +**Confidential ERC20** |
| 29 | + |
| 30 | +Zama’s `ConfidentialERC20` introduces privacy to ERC20 tokens by storing balances and transactions in an encrypted format using FHE. |
| 31 | + |
| 32 | +The `ConfidentialERC20` contract still supports standard ERC20 functions such as `transfer`, `approve`, `transferFrom`, `balanceOf`, and `totalSupply` but ensures these operations are processed securely with encrypted data. |
| 33 | + |
| 34 | +To explore the implementation details of ConfidentialERC20, check out the [Zama blog post](https://www.zama.ai/post/confidential-erc-20-tokens-using-homomorphic-encryption). |
| 35 | + |
| 36 | +**Confidential ERC-20 Mintable** |
| 37 | + |
| 38 | +The contract that we will build in this tutorial is `ConfidentialERC20Mintable` . It's built on top of `ConfidentialERC20` by adding secure minting capabilities. This allows authorized accounts to create new tokens, while maintaining the privacy guarantees of encrypted balances and transactions. |
| 39 | + |
| 40 | +The `ConfidentialERC20Mintable` contract ensures: |
| 41 | + |
| 42 | +- **Enhanced privacy**: Balances are stored as encrypted values (`euint64`), preventing public inspection of account balances. |
| 43 | +- **Secure transactions**: Token transfers are processed securely, maintaining confidentiality of amounts. |
| 44 | +- **Owner visibility**: Only account owners can decrypt and view their balances. |
| 45 | + |
| 46 | +## Next steps |
| 47 | + |
| 48 | +Choose your path and get started: |
| 49 | + |
| 50 | +- [**Hardhat Guide**](hardhat) – Full-fledged development environment, suitable for **production**. |
0 commit comments