Skip to content

Latest commit

 

History

History
53 lines (36 loc) · 2.19 KB

README.md

File metadata and controls

53 lines (36 loc) · 2.19 KB

Confidential ERC20 Framework

The confidential ERC20 Framework transforms ERC20 tokens into a confidential form that conceals balances and transaction amounts, with optional viewing and transfer rules to meet regulatory obligations or enhance programmatic risk management. While sender-receiver linkage remains, Confidential ERC20 balances privacy with risk management using an encryption-based approach, specifically fully homomorphic encryption (FHE), allowing operations on encrypted data without decryption.

This implementation is based on the collaborative research between Inco and Circle Research. For more information, see the whitepaper.

Note: This repository is not audited and is intended solely as a proof of concept.

Usage

Pre Requisites

Install pnpm

Before being able to run any command, you need to create a .env file and set a BIP-39 compatible mnemonic as an environment variable. You can follow the example in .env.example and start with the following command:

cp .env.example .env

If you don't already have a mnemonic, you can use this website to generate one.

Then, proceed with installing dependencies - please make sure to use Node v20 or more recent or this will fail:

pnpm install

For development on Rivest testnet

After installation run the pre-launch script to setup the environment:

sh pre-launch.sh

this generates the necessary precompile ABI files.

To deploy the contracts on the rivest network, run the following command:

pnpm deploy:contracts --network rivest

To run the tests on the rivest network, run the following command:

pnpm test:rivest

Resources