diff --git a/README.md b/README.md index a07d33e..4c5b7c6 100644 --- a/README.md +++ b/README.md @@ -1,259 +1,108 @@ -# Hardhat Template [![Open in Gitpod][gitpod-badge]][gitpod] [![Github Actions][gha-badge]][gha] [![Hardhat][hardhat-badge]][hardhat] [![License: MIT][license-badge]][license] +# fhEVM Contracts -[gitpod]: https://gitpod.io/#https://github.com/zama-ai/fhevm-hardhat-template -[gitpod-badge]: https://img.shields.io/badge/Gitpod-Open%20in%20Gitpod-FFB45B?logo=gitpod -[gha]: https://github.com/zama-ai/fhevm-hardhat-template/actions -[gha-badge]: https://github.com/zama-ai/fhevm-hardhat-template/actions/workflows/ci.yml/badge.svg -[hardhat]: https://hardhat.org/ -[hardhat-badge]: https://img.shields.io/badge/Built%20with-Hardhat-FFDB1C.svg -[license]: https://opensource.org/licenses/MIT -[license-badge]: https://img.shields.io/badge/License-MIT-blue.svg +
+ π Read white paper | π Documentation | π Community support | π FHE resources by Zama +
-A Hardhat-based template for developing Solidity smart contracts, with sensible defaults. + -- [Hardhat](https://github.com/nomiclabs/hardhat): compile, run and test smart contracts -- [TypeChain](https://github.com/ethereum-ts/TypeChain): generate TypeScript bindings for smart contracts -- [Ethers](https://github.com/ethers-io/ethers.js/): renowned Ethereum library and wallet implementation -- [Solhint](https://github.com/protofire/solhint): code linter -- [Solcover](https://github.com/sc-forks/solidity-coverage): code coverage -- [Prettier Plugin Solidity](https://github.com/prettier-solidity/prettier-plugin-solidity): code formatter +fhEVM contracts is a library for encrypted smart contract development on fhEVM. ## Getting Started -Click the [`Use this template`](https://github.com/zama-ai/fhevm-hardhat-template/generate) button at the top of the -page to create a new repository with this repo as the initial state. - -## Features - -This template builds upon the frameworks and libraries mentioned above, so for details about their specific features, -please consult their respective documentations. - -For example, for Hardhat, you can refer to the [Hardhat Tutorial](https://hardhat.org/tutorial) and the -[Hardhat Docs](https://hardhat.org/docs). You might be in particular interested in reading the -[Testing Contracts](https://hardhat.org/tutorial/testing-contracts) section. - -### Sensible Defaults - -This template comes with sensible default configurations in the following files: - -```text -βββ .editorconfig -βββ .eslintignore -βββ .eslintrc.yml -βββ .gitignore -βββ .prettierignore -βββ .prettierrc.yml -βββ .solcover.js -βββ .solhint.json -βββ hardhat.config.ts -``` - -### VSCode Integration - -This template is IDE agnostic, but for the best user experience, you may want to use it in VSCode alongside Nomic -Foundation's [Solidity extension](https://marketplace.visualstudio.com/items?itemName=NomicFoundation.hardhat-solidity). - -### GitHub Actions - -This template comes with GitHub Actions pre-configured. Your contracts will be linted and tested on every push and pull -request made to the `main` branch. - -Note though that to make this work, you must use your `INFURA_API_KEY` and your `MNEMONIC` as GitHub secrets. - -You can edit the CI script in [.github/workflows/ci.yml](./.github/workflows/ci.yml). - -## Usage - -### Pre Requisites - -Install [docker](https://docs.docker.com/engine/install/) - -Install [pnpm](https://pnpm.io/installation) - -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`. If you don't already have a mnemonic, you can use -this [website](https://iancoleman.io/bip39/) to generate one. - -Then, proceed with installing dependencies: - -```sh -pnpm install -``` - -### Start fhevm - -Start a local fhevm docker container that inlcudes everything needed to deploy FHE encrypted smart contracts - -```sh -# In one terminal, keep it opened -# The node logs are printed -pnpm fhevm:start -``` - -To stop: - -```sh -pnpm fhevm:stop -``` - -### Compile - -Compile the smart contracts with Hardhat: - -```sh -pnpm compile -``` - -### TypeChain - -Compile the smart contracts and generate TypeChain bindings: - -```sh -pnpm typechain -``` - -### List accounts - -From the mnemonic in .env file, list all the derived Ethereum adresses: - -```sh -pnpm task:accounts -``` - -### Get some native coins - -In order to interact with the blockchain, one need some coins. This command will give coins to the first address derived -from the mnemonic in .env file. - -```sh -pnpm fhevm:faucet -``` - -+ β Back to top +
-## Local development with Docker +## Support -Please check Evmos repository to be able to build FhEVM from sources. + + + -## License +π If you find this project helpful or interesting, please consider giving it a star on GitHub! Your support helps to +grow the community and motivates further development. -This project is licensed under MIT. ++ β Back to top +