Skip to content

Commit

Permalink
Merge pull request #1 from zama-ai/docs
Browse files Browse the repository at this point in the history
Docs
  • Loading branch information
immortal-tofu authored Aug 6, 2024
2 parents d2d1a52 + 48e09d0 commit 69aa7cc
Show file tree
Hide file tree
Showing 48 changed files with 416 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .github/config/commitlint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
const RuleConfigSeverity = require('@commitlint/types').RuleConfigSeverity;
const Configuration = {
/*
* Resolve and load @commitlint/config-conventional from node_modules.
* Referenced packages must be installed
*/
extends: ['@commitlint/config-conventional'],
/*
* Resolve and load conventional-changelog-atom from node_modules.
* Referenced packages must be installed
*/
parserPreset: 'conventional-changelog-conventionalcommits',
/*
* Resolve and load @commitlint/format from node_modules.
* Referenced package must be installed
*/
formatter: '@commitlint/format',
/*
* Any rules defined here will override rules from @commitlint/config-conventional
*/
rules: {
'type-empty': [RuleConfigSeverity.Error, 'never'],
},
};

module.exports = Configuration;
17 changes: 17 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
changelog:
categories:
- title: Breaking Changes
labels:
- breaking-changes
- title: New features
labels:
- features
- title: Improvements
labels:
- improvements
- title: Fixes
labels:
- fix
- title: Other Changes
labels:
- "*"
22 changes: 22 additions & 0 deletions .github/workflows/commitlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Run commitlint on PR

on:
pull_request:

jobs:
commitlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 20.x
- name: Install commitlint
run: |
npm install @commitlint/config-conventional@^18 conventional-changelog-atom @commitlint/types@^18
npm install -g @commitlint/cli@^18
- name: Validate all commits from PR
run: npx commitlint --config .github/config/commitlint.config.js --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
20 changes: 20 additions & 0 deletions .github/workflows/linkchecker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Check Markdown links

on:
pull_request:
push:
branches:
- main
schedule:
# Run everyday at 9:00 AM (See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07)
- cron: "0 9 * * *"

jobs:
markdown-link-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: gaurav-nelson/github-action-markdown-link-check@d53a906aa6b22b8979d33bc86170567e619495ec # v1.0.15
with:
use-quiet-mode: "yes"
use-verbose-mode: "yes"
Binary file added docs/.gitbook/assets/start1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/.gitbook/assets/start2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/.gitbook/assets/start4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/.gitbook/assets/start5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
55 changes: 55 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
description: >-
fhEVM is a technology that enables confidential smart contracts on the EVM
using Fully Homomorphic Encryption (FHE).
layout:
title:
visible: true
description:
visible: true
tableOfContents:
visible: true
outline:
visible: true
pagination:
visible: false
---

# Welcome to fhEVM

## Get started

Learn the basics of fhEVM, set it up, and make it run with ease.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Quick start</strong></td><td>Understand the basic concepts of fhEVM library.</td><td><a href=".gitbook/assets/start1.png">start1.png</a></td><td><a href="getting_started/quick_start.md">quick_start.md</a></td></tr><tr><td><strong>geth integration</strong></td><td>Use fhEVM with go-ethereum</td><td><a href=".gitbook/assets/start4.png">start4.png</a></td><td><a href="getting_started/fhevm/geth.md">geth.md</a></td></tr><tr><td><strong>Setup a Gateway</strong></td><td>Configure a Gateway to handle decryption and reecryption</td><td><a href=".gitbook/assets/start2.png">start2.png</a></td><td><a href="getting_started/gateway/configuration.md">configuration.md</a></td></tr><tr><td><strong>Use TKMS</strong></td><td>Use Zama's KMS with fhEVM</td><td><a href=".gitbook/assets/start5.png">start5.png</a></td><td><a href="getting_started/tkms/zama.md">zama.md</a></td></tr></tbody></table>

### References

Refer to the API and access additional resources for in-depth explanations while working with fhEVM.

- [fhEVM API specifications](references/fhevm_api.md)
- [Gateway API specifications](references/gateway_api.md)

### Supports

Ask technical questions and discuss with the community. Our team of experts usually answers within 24 hours in working days.

- [Community forum](https://community.zama.ai/c/fhevm/15)
- [Discord channel](https://discord.com/invite/fhe-org)
- [Telegram](https://t.me/+Ojt5y-I7oR42MTkx)

### Developers

Collaborate with us to advance the FHE spaces and drive innovation together.

- [Contribute to fhEVM](developer/contribute.md)
- [Follow the development roadmap](developer/roadmap.md)
<!-- markdown-link-check-disable -->
- [See the latest test release note](https://github.com/zama-ai/fhevm-backend/releases)
- [Request a feature](https://github.com/zama-ai/fhevm-backend/issues/new)
- [Report a bug](https://github.com/zama-ai/fhevm-backend/issues/new)
<!-- markdown-link-check-enable -->

---

We value your feedback! [Take a 5-question developer survey](http://zama.ai/developer-survey) to improve the fhEVM library and the documentation and help other developers use FHE.
61 changes: 61 additions & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Table of contents

- [Welcome to fhEVM](README.md)

## Getting Started

- [Quick start](getting_started/quick_start.md)
- fhEVM
- [geth integration](getting_started/fhevm/geth.md)
- [Run Native](getting_started/fhevm/native.md)
- [Deploy initial contracts](getting_started/fhevm/contracts.md)
- [Configuration](getting_started/fhevm/configuration.md)
- Gateway
- [Configuration](getting_started/gateway/configuration.md)
- TKMS
- [Use Zama's TKMS](getting_started/tkms/zama.md)
- [Request the creation of a new private key](getting_started/tkms/create.md)
- [Application Smart Contract](getting_started/tkms/contract.md)
- [Run a KMS](getting_started/tkms/run.md)

## Fundamentals

- [Architecture](fundamentals/overview.md)
- fhEVM
- [Architecture](fundamentals/fhevm/architecture.md)
- [Contracts](fundamentals/fhevm/contracts.md)
- [Backend](fundamentals/fhevm/backend.md)
- [Execution](fundamentals/fhevm/execution.md)
- [Storage](fundamentals/fhevm/storage.md)
- [Inputs](fundamentals/fhevm/inputs.md)
- [Data Availability Layer](fundamentals/fhevm/dal.md)
- [Genesis](fundamentals/fhevm/genesis.md)
- Gateway
- [Decryption](fundamentals/gateway/decryption.md)
- [Reencryption](fundamentals/gateway/reencryption.md)
- [Inclusion proof](fundamentals/gateway/proof.md)
- [Decryption and reencryption request on TKMS](fundamentals/gateway/asc.md)
- TKMS
- [Architecture](fundamentals/tkms/architecture.md)
- [Blockchain](fundamentals/tkms/blockchain.md)
- [Threshold protocol](fundamentals/tkms/threshold.md)
- [Zama's TKMS](fundamentals/tkms/zama.md)
- [Glossary](fundamentals/glossary.md)

## Guides

- [Node hardware](guides/hardware.md)
- [Run a benchmark](guides/benchmark.md)

## References

- [fhEVM API specifications](references/fhevm_api.md)
- [Gateway API specifications](references/gateway_api.md)

## Developer

- [Contributing](developer/contribute.md)
- [Development roadmap](developer/roadmap.md)
- [Release note](https://github.com/zama-ai/fhevm/releases)
- [Feature request](https://github.com/zama-ai/fhevm/issues/new)
- [Bug report](https://github.com/zama-ai/fhevm/issues/new)
Binary file added docs/assets/central.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/threshold.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions docs/developer/contribute.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Contributing

There are two ways to contribute to the Zama fhEVM:

- [Open issues](https://github.com/zama-ai/fhevm/issues/new/choose) to report bugs and typos, or to suggest new ideas
- Request to become an official contributor by emailing [[email protected]](mailto:[email protected]).

Becoming an approved contributor involves signing our Contributor License Agreement (CLA)). Only approved contributors can send pull requests, so please make sure to get in touch before you do!
1 change: 1 addition & 0 deletions docs/developer/roadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Roadmap
1 change: 1 addition & 0 deletions docs/fundamentals/fhevm/architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Architecture
1 change: 1 addition & 0 deletions docs/fundamentals/fhevm/backend.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Backend
1 change: 1 addition & 0 deletions docs/fundamentals/fhevm/contracts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Contracts
1 change: 1 addition & 0 deletions docs/fundamentals/fhevm/dal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Data Availability Layer
1 change: 1 addition & 0 deletions docs/fundamentals/fhevm/execution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Execution
1 change: 1 addition & 0 deletions docs/fundamentals/fhevm/genesis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Genesis
1 change: 1 addition & 0 deletions docs/fundamentals/fhevm/inputs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Inputs
1 change: 1 addition & 0 deletions docs/fundamentals/fhevm/storage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Storage
1 change: 1 addition & 0 deletions docs/fundamentals/gateway/asc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Decryption and reencryption request on TKMS
1 change: 1 addition & 0 deletions docs/fundamentals/gateway/decryption.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Decryption
1 change: 1 addition & 0 deletions docs/fundamentals/gateway/proof.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Inclusion proof
1 change: 1 addition & 0 deletions docs/fundamentals/gateway/reencryption.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Reencryption
15 changes: 15 additions & 0 deletions docs/fundamentals/glossary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Glossary

## Smart Contracts

### fhEVM

- _ACL smart contract_: Smart contract deployed on the fhEVM blockchain to manage access control of ciphertexts. dApp contracts use this to persists their own access rights and to delegate access to other contracts.

- _Gateway smart contract_: Smart contract deployed on the fhEVM blockchain that is used by a dApp smart contract to request a decrypt. This emits an event that triggers the gateway.

- _KMS smart contract_: Smart contract running on the fhEVM blockchain that is used by a dApp contract to verify decryption results from the KMS. To that end, it contains the identity of the KMS and is used to verify its signatures.

### TKMS

- _fhEVM ASC_: Smart contract to which transaction from the gateway (connector) are submitted to. This contract contains all customization logic required to work with the specific fhEVM blockchain.
3 changes: 3 additions & 0 deletions docs/fundamentals/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Overview

![Overview](../assets/overview.png)
Loading

0 comments on commit 69aa7cc

Please sign in to comment.