From 80cc9a393830874e4a11bc61c7ea4b93d5dd42b3 Mon Sep 17 00:00:00 2001 From: Jeremy Zaccherini Date: Tue, 19 Sep 2023 15:11:32 +0000 Subject: [PATCH] GITBOOK-7: change request with no subject merged in GitBook --- docs/.gitbook/assets/zama_fhevm_summary.png | Bin 0 -> 74411 bytes docs/README.md | 18 ++++++++++++-- docs/SUMMARY.md | 26 ++++++++++---------- 3 files changed, 29 insertions(+), 15 deletions(-) create mode 100644 docs/.gitbook/assets/zama_fhevm_summary.png diff --git a/docs/.gitbook/assets/zama_fhevm_summary.png b/docs/.gitbook/assets/zama_fhevm_summary.png new file mode 100644 index 0000000000000000000000000000000000000000..f8559ab1cebb28d885cdeea22b76ef53305d8728 GIT binary patch literal 74411 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 MQ{5Z4``E?*3+;#{Pyhe` literal 0 HcmV?d00001 diff --git a/docs/README.md b/docs/README.md index b72b443..2ebc8e9 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,10 +1,12 @@ -# What is fhEVM ecosystem? +# What is Zama's fhEVM? 📁 [Github](https://github.com/zama-ai/fhevm) | 💛 [Community support](https://zama.ai/community) | 🟨 [Zama Bounty Program](https://github.com/zama-ai/bounty-program)
-Zama's fhEVM allows developer to create private smart contracts using homomorphic encryption on the EVM. +## Bring confidential smart contracts to your blockchain with Zama's fhEVM + +There used to be a dilemma in blockchain: keep your application and user data on-chain, allowing everyone to see it, or keep it privately off-chain and lose contract composability. Thanks to a breakthrough in homomorphic encryption, Zama’s fhEVM makes it possible to run confidential smart contracts on encrypted data, guaranteeing both confidentiality and composability. ## fhevmjs @@ -13,3 +15,15 @@ fhevmjs is a javascript library that enables developers to interact with blockch ## Solidity library The Solidity library we introduce is a powerful tool that empowers developers to manipulate encrypted data using TFHE within smart contracts. With this library, developers can perform computations over encrypted data, such as addition, multiplication, comparison and more, while maintaining the confidentiality of the underlying information. + +## Tutorials and Examples + +* [Workshop during ETHcc](https://www.youtube.com/watch?v=eivfVykPP8U) by Morten Dahl (Zama) +* [Confidential ERC-20 Tokens Using Homomorphic Encryption](https://www.zama.ai/post/confidential-erc-20-tokens-using-homomorphic-encryption) by Clément Danjou (Zama) +* [On-chain Blind Auctions Using Homomorphic Encryption](https://www.zama.ai/post/on-chain-blind-auctions-using-homomorphic-encryption) by Clément Danjou (Zama) +* [ERC-20](https://github.com/zama-ai/fhevm-solidity/blob/main/examples/EncryptedERC20.sol) +* [Blind Auction](https://github.com/zama-ai/fhevm-solidity/blob/main/examples/BlindAuction.sol) +* [Governor DAO](https://github.com/zama-ai/fhevm-solidity/tree/main/examples/Governor) +* [Mixnet](https://github.com/anonymousGifter/mixnet-core) by [Remi Gai](https://github.com/remi-gai) +* [Battleship](https://github.com/battleship-fhevm/battleship-hardhat) by [Owen Murovec](https://github.com/omurovec) +* [Darkpool](https://github.com/omurovec/fhe-darkpools) by [Owen Murovec](https://github.com/omurovec) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index a0d2210..4a5fad3 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -1,24 +1,24 @@ # Table of contents -- [What is fhEVM ecosystem?](README.md) +* [What is Zama's fhEVM?](README.md) ## Contract -- [Getting Started](solidity/getting_started.md) -- [TFHE Library](solidity/library.md) -- [Function specifications](solidity/functions.md) -- [Decryption and control structures](solidity/requires.md) +* [Getting Started](solidity/getting\_started.md) +* [TFHE Library](solidity/library.md) +* [Function specifications](solidity/functions.md) +* [Decryption and control structures](solidity/requires.md) ## fhevmjs -- [Getting Started](sdk/getting_started.md) -- [Using the CLI](sdk/cli.md) -- [Setup an instance](sdk/instance.md) -- [Inputs](sdk/inputs.md) -- [Reencryption](sdk/reencryption.md) -- [Examples](sdk/examples.md) +* [Getting Started](sdk/getting\_started.md) +* [Using the CLI](sdk/cli.md) +* [Setup an instance](sdk/instance.md) +* [Inputs](sdk/inputs.md) +* [Reencryption](sdk/reencryption.md) +* [Examples](sdk/examples.md) ## Resources -- [Tutorials](resources/tutorials.md) -- [Examples](resources/examples.md) +* [Tutorials](resources/tutorials.md) +* [Examples](resources/examples.md)