This section contains comprehensive guides and examples for using OpenZeppelin's confidential smart contracts library with FHEVM. OpenZeppelin's confidential contracts library provides a secure, audited foundation for building privacy-preserving applications on fully homomorphic encryption (FHE) enabled blockchains.
The library includes implementations of popular standards like ERC20, ERC721, and ERC1155, adapted for confidential computing with FHEVM, ensuring your applications maintain privacy while leveraging battle-tested security patterns.
This guide will help you set up a development environment for working with OpenZeppelin's confidential contracts and FHEVM.
Before you begin, ensure you have the following installed:
- Node.js >= 20
- Hardhat ^2.24
- Access to an FHEVM-enabled network and the Zama gateway/relayer
-
Clone the FHEVM Hardhat template repository:
git clone https://github.com/zama-ai/fhevm-hardhat-template conf-token cd conf-token -
Install project dependencies:
npm ci
-
Install OpenZeppelin's confidential contracts library:
npm i @openzeppelin/confidential-contracts
-
Compile the contracts:
npm run compile
-
Run the test suite:
npm test
Explore the following guides to learn how to implement confidential contracts using OpenZeppelin's library:
- ERC7984 Standard - Learn about the ERC7984 standard for confidential tokens
- ERC7984 Tutorial - Step-by-step tutorial for implementing ERC7984 tokens
- ERC7984 to ERC20 Wrapper - Convert between confidential and public token standards
- Swap ERC7984 to ERC20 - Implement cross-standard token swapping
- Swap ERC7984 to ERC7984 - Confidential token-to-token swapping
- Vesting Wallet - Implement confidential token vesting mechanisms