Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/api-reference/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ sidebar_position: 1

# API Reference

import UnderProgress from '@site/src/components/Docs/under-progress.js';
import UnderProgress from '@site/src/components/docs/under-progress.js';

<UnderProgress />
2 changes: 1 addition & 1 deletion docs/develop/contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ sidebar_position: 5

# Contribute

import UnderProgress from '@site/src/components/Docs/under-progress.js';
import UnderProgress from '@site/src/components/docs/under-progress.js';

<UnderProgress />
40 changes: 20 additions & 20 deletions docs/develop/exercise/hands-on-fhevm/index.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
---
id: hands-on-fhevm
title: Hands-on FHEVM
id: index
title: Hands-on fhEVM
description: --
slug: /develop/exercise/hands-on-fhevm/hands-on-fhevm
slug: /develop/exercise/hands-on-fhevm
hide_table_of_contents: false
sidebar_position: 1
---

# Hands-on FHEVM
# Hands-on fhEVM

**fhEVM** enables **privacy-preserving smart contracts** on **EVM-compatible blockchains**. This hands-on guide will walk you through **understanding, setting up, and working with fhEVM** to develop encrypted smart contracts.
This hands-on guide will walk you through **understanding, setting up, and working with fhEVM** to develop encrypted smart contracts and test them on fhEVM network.

### What You’ll Learn

- Basics of **fhEVM and its architecture**.
- Setting up a **local fhEVM development environment**.
- Writing, compiling, and deploying **FHE-enabled Solidity contracts**.
- Basics of fhEVM and its architecture.
- Setting up a local fhEVM development environment.
- Writing, compiling, and deploying FHE-enabled Solidity contracts.
- Testing encrypted contract interactions.

---
Expand Down Expand Up @@ -92,19 +92,19 @@ For more detailed insights, you can refer to the **[official documentation by Za

### **What's Next?**

Now that you understand the **fhEVM architecture**, let's set up an **fhEVM network**.
Now that you understand the **fhEVM architecture**, let's set up an **fhEVM network**.
➡ Move on to **[Network Setup](./setting-up-network.md)** to learn how to proceed.


<!--
<!--
## **3. Setting Up Your Development Environment**

Before writing encrypted contracts, install the necessary tools.

### **Prerequisites**

✔ **Go** (`v1.23.x` or later)
✔ **Docker** (`v26.x.x` or later)
✔ **Go** (`v1.23.x` or later)
✔ **Docker** (`v26.x.x` or later)
✔ **Node.js** (`v20.x` or later)

📖 **[Full Setup Guide](./preparation.md)**
Expand Down Expand Up @@ -143,11 +143,11 @@ fhEVM supports **Fully Homomorphic Encryption (FHE)** within Solidity contracts.

### **Key Contract Operations**

✔ **EncryptedERC20**: Secure token minting, transfer, and approvals.
✔ **Homomorphic Computation**: Arithmetic on encrypted balances.
✔ **EncryptedERC20**: Secure token minting, transfer, and approvals.
✔ **Homomorphic Computation**: Arithmetic on encrypted balances.
✔ **Decryption via Gateway**: Interact with KMS securely.

📖 **[Writing Smart Contracts](./writing-smart-contract.md)**
📖 **[Writing Smart Contracts](./writing-smart-contract.md)**
📖 **[Deploying Smart Contracts](./compiling-and-deploying.md)**

---
Expand All @@ -158,9 +158,9 @@ To validate your contracts, write **JavaScript-based tests** using `ethers.js`.

### **Example Test Cases**

✔ **Minting Tokens**
✔ **Encrypted Transfers**
✔ **Encrypted Approvals**
✔ **Minting Tokens**
✔ **Encrypted Transfers**
✔ **Encrypted Approvals**
✔ **Balance Decryption**

📖 **[Writing Test Files](./writing-contract-test-files.md)**
Expand All @@ -177,8 +177,8 @@ By completing this hands-on guide, you now understand:

### **Next Steps**

🔹 Explore **advanced encrypted contract interactions**.
🔹 Contribute to **fhEVM projects and research**.
🔹 Explore **advanced encrypted contract interactions**.
🔹 Contribute to **fhEVM projects and research**.
🔹 Learn more from **[Zama’s Official Documentation](https://docs.zama.ai/fhevm)**.

📖 **[Final Thoughts & Summary](./08-conclusion.md)**
Expand Down
2 changes: 1 addition & 1 deletion docs/develop/exercise/hands-on-fhevm/prerequisites.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: prerequisites
title: Prerequisites
description: This guide walks you through configuring your development setup, ensuring seamless interaction with the FHEVM network for encrypted smart contract execution
description: This guide walks you through configuring your development setup, ensuring seamless interaction with the fhEVM network for encrypted smart contract execution
slug: /develop/exercise/hands-on-fhevm/prerequisites
hide_table_of_contents: false
sidebar_position: 2
Expand Down
10 changes: 5 additions & 5 deletions docs/develop/exercise/hands-on-fhevm/setting-up-network.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: setting-up-network
title: Setting Up Network
description: This guide walks you through configuring your development setup, ensuring seamless interaction with the FHEVM network for encrypted smart contract execution
description: This guide walks you through configuring your development setup, ensuring seamless interaction with the fhEVM network for encrypted smart contract execution
slug: /develop/exercise/hands-on-fhevm/setting-up-network
hide_table_of_contents: false
sidebar_position: 3
Expand All @@ -10,7 +10,7 @@ sidebar_position: 3
# Setting Up Network

:::note Preparation
Before you start, ensure you have the necessary tools and dependencies installed on your system.
Before you start, ensure you have the necessary tools and dependencies installed on your system.
Follow the steps mentioned in the prerequisites section [here](./prerequisites.md).
:::

Expand Down Expand Up @@ -45,7 +45,7 @@ Once Go and Docker are installed, clone the **hands-on-fhevm** repository from G

---

## Setting Up the FHEVM Network using Docker
## Setting Up the fhEVM Network using Docker

This section will guide you through setting up your **fhevm network** using Docker.

Expand Down Expand Up @@ -85,7 +85,7 @@ make stop-full

Your fhevm-network is now ready to use. Proceed to [Compiling and Deploying](./compiling-and-deploying.md) your smart contracts.

<!--
<!--

## Step 5: Clone the Project Repository and Setup

Expand Down Expand Up @@ -120,4 +120,4 @@ Once Go and Docker are installed, clone the **hands-on-fhevm** repository from G

```bash
npm start
``` -->
``` -->
12 changes: 6 additions & 6 deletions docs/develop/exercise/hands-on-fhevm/writing-contract-test.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: writing-contract-test
title: Writing Smart Contract Tests
description: This guide provides instructions on writing tests for Fully Homomorphic Encryption Virtual Machine (fhEVM) smart contracts.
title: Writing Smart Contract Test
description: This guide provides instructions on writing test for fhEVM smart contracts.
slug: /develop/exercise/hands-on-fhevm/writing-contract-test
hide_table_of_contents: false
sidebar_position: 6
Expand All @@ -19,18 +19,18 @@ The tutorial uses several key libraries and utilities:

```javascript
import { JsonRpcProvider, Wallet, Contract } from "ethers"; // Core ethers.js components
import { createInstance } from "../utils/create-instance.js"; // FHEVM instance creation
import { createInstance } from "../utils/create-instance.js"; // fhEVM instance creation
import { loadABI } from "../utils/load-abi.js"; // ABI loading utility
import logger from "../utils/logger.js"; // Logging utility
```

### Understanding Key Components

#### FHEVM Instance Creation
#### fhEVM Instance Creation

The `createInstance` function is crucial for our cryptographic operations:

- Creates an instance of the FHEVM (Fully Homomorphic Encryption Virtual Machine)
- Creates an instance of the fhEVM (Fully Homomorphic Encryption Virtual Machine)
- Enables secure operations on encrypted data
- Is required for privacy-preserving transactions

Expand Down Expand Up @@ -138,7 +138,7 @@ export async function transferTokens(
contractAddress
);

// Create FHEVM instance for encryption
// Create fhEVM instance for encryption
const fhevmInstance = await createInstance();

// Prepare encrypted input
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ hide_table_of_contents: false
sidebar_position: 5
---

# Writing Smart Contracts for the FHEVM
# Writing Smart Contracts for the fhEVM

The FHEVM environment enables Fully Homomorphic Encryption (FHE) computations directly on encrypted data within Ethereum-like smart contracts. This means that the contract can store, process, and manipulate data in ciphertext form without ever exposing the underlying cleartext values. As a result, developers can build decentralized applications that protect user privacy on a public blockchain.
The fhEVM environment enables Fully Homomorphic Encryption (FHE) computations directly on encrypted data within Ethereum-like smart contracts. This means that the contract can store, process, and manipulate data in ciphertext form without ever exposing the underlying cleartext values. As a result, developers can build decentralized applications that protect user privacy on a public blockchain.

This is a simple example of an ERC20 token smart contract. For writing more complex contracts, please refer to the [fhEVM documentation](https://docs.zama.ai/fhevm/0.5-4/guides) for more details.

---

Expand All @@ -31,8 +33,8 @@ The contract uses the following dependencies:

```solidity
import "./core/lib/TFHE.sol";
import "@openzeppelin/contracts/access/Ownable2Step.sol";
import "./core/gateway/GatewayCaller.sol";
import "@openzeppelin/contracts/access/Ownable2Step.sol";
```

---
Expand Down
4 changes: 2 additions & 2 deletions docs/develop/exercise/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ sidebar_position: 2

# Exercise

import UnderProgress from '@site/src/components/Docs/under-progress.js';
import Exercise from '@site/src/components/docs/exercise.js';

<UnderProgress />
<Exercise />
2 changes: 1 addition & 1 deletion docs/develop/kms.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ sidebar_position: 3

# Key Management Service

import UnderProgress from '@site/src/components/Docs/under-progress.js';
import UnderProgress from '@site/src/components/docs/under-progress.js';

<UnderProgress />
2 changes: 1 addition & 1 deletion docs/develop/relayers.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ sidebar_position: 4

# Relayers

import UnderProgress from '@site/src/components/Docs/under-progress.js';
import UnderProgress from '@site/src/components/docs/under-progress.js';

<UnderProgress />
2 changes: 1 addition & 1 deletion docs/develop/tx-struct.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ sidebar_position: 1

# Tx Struct

import UnderProgress from '@site/src/components/Docs/under-progress.js';
import UnderProgress from '@site/src/components/docs/under-progress.js';

<UnderProgress />
4 changes: 2 additions & 2 deletions docs/intro-to-zkfhe/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ sidebar_position: 3
slug: /concepts/intro-to-zkfhe
---

import IntroToZKFHE from '@site/src/components/Docs/intro-to-zkfhe.js';
import IntroToZKFHE from '@site/src/components/docs/intro-to-zkfhe.js';

<IntroToZKFHE />
<IntroToZKFHE />
2 changes: 1 addition & 1 deletion docs/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ slug: /introduction
className="intro_image"
/>

import IntroductionComponent from '@site/src/components/Docs/introduction.js';
import IntroductionComponent from '@site/src/components/docs/introduction.js';

<IntroductionComponent />
4 changes: 3 additions & 1 deletion docs/junction/operate-a-node/running-a-light-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,6 @@ sidebar_position: 3

# Running a Light Node

This guide outlines a clear, sequential process for configuring and running a light node on the Airsettle network, employing pre-built binaries. With its user-friendly design, the guide is suitable for anyone, regardless of their prior knowledge in node operation, ensuring a straightforward experience in managing a light node.
:::note
This section is work under progress, will be released in future.
:::
35 changes: 18 additions & 17 deletions docs/junction/operate-a-node/system-requirement.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,49 @@
---
id: system-requirement
title: System Requirement
title: System Requirements
sidebar_position: 1
---

# System Requirement
# System Requirements

To ensure a smooth experience, considering the following:
To ensure a smooth experience, consider the following:

1. **Hardware Requirements** : Verify that your hardware meets the Airsettle node's requirements.
2. **Prerequisites & Installation** : Ensure you have the necessary prerequisites and packages installed on your machine.
3. **Port Configuration** : Pay attention to system Port details.
1. **Hardware Requirements**: Verify that your hardware meets the Junction node requirements.
2. **Prerequisites & Installation**: Ensure you have the necessary prerequisites and packages installed on your machine.
3. **Port Configuration**: Configure the required system ports.

### Hardware Requirements

This outlines the necessary hardware specifications for establishing an Airsettle node
These are the necessary hardware specifications for running a Junction node:

| Component | Minimum | Recommended |
| ---------------------------- | --------- | ----------- |
| RAM | 4GB | 8GB |
| CPU (amd64/x86 architecture) | 2 core | 4 core |
| Storage (SSD) | 50-100 GB | 50-100 GB |
| Storage (SSD) | 100 GB | 100+ GB |

<br/>

:::note
While there's no specific preference for an operating system, it's advisable to opt for more secure and stable Linux server distributions, such as Ubuntu, rather than desktop operating systems like macOS or Windows. Furthermore, as the network expands, the minimum storage needs will evolve. To ensure a stable operation of a full node, it's recommended to exceed these minimum requirements.
While there's no specific operating system requirement, we recommend using secure and stable Linux server distributions like Ubuntu rather than desktop operating systems like macOS or Windows. As the network grows, storage requirements may increase. For stable operation of a full node, we recommend exceeding these minimum specifications.
:::

### Prerequisites & Installation

Our node setup manuals are crafted specifically for Linux distributions with apt compatibility, such as Debian. Moreover, deploying nodes on cloud servers has become a standard approach in the industry.
Our node setup guides are designed for Linux distributions with apt package management, such as Debian. Running nodes on cloud servers is an industry standard approach.

- [Ignite CLI](https://docs.airchains.io/junction/operate-a-node/system-requirements) v0.27.1
- [Go](https://docs.airchains.io/junction/operate-a-node/system-requirements) v.
Required software:
<!-- - [Ignite CLI](https://docs.airchains.io/junction/operate-a-node/system-requirements) v0.27.1 -->
- [Go](https://docs.airchains.io/junction/operate-a-node/system-requirements) v1.20+

### Installation Guide for Ignite CLI
<!-- ### Installation Guide for Ignite CLI -->

**Step 1: Download the Source Files**

Begin by downloading the appropriate Ignite CLI source files from GitHub. Since we are using an AMD processor on a Linux system, use the following wget command:
Download the Ignite CLI source files from GitHub.

:::warning
To correctly set up Ignite for your system, it's important to select the appropriate binary file tailored to your system's specifications. Please use this link Ignite CLI v0.27.1 for the download. We strongly recommend using [Ignite version v0.27.1](https://github.com/ignite/cli/releases/tag/v0.27.1), as other versions might not be compatible with Airsettle.
:::info
To correctly set up Ignite for your system, it's important to select the appropriate binary file tailored to your system's specifications. Please use this link Ignite CLI v0.27.1 for the download. We strongly recommend using [Ignite version v0.27.1](https://github.com/ignite/cli/releases/tag/v0.27.1), as other versions might not be compatible with Junction.
:::

```bash
Expand Down Expand Up @@ -153,4 +154,4 @@ To ensure smooth operation, the system requires specific ports to be configured.

:::note
Ensure that these ports are correctly configured and open on your system to enable the intended functionalities and communication protocols. This setup is key to maintaining efficient and uninterrupted network operations.
:::
:::
1 change: 1 addition & 0 deletions docs/prove-schemes-and-curves.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ slug: /concepts/prove-schemes-and-curves
sidebar_position: 4
---

<!-- TODO: UPDATE CODE -->
# Prove schemes and curves

Proof schemes, also known as proof systems or proof protocols, are cryptographic techniques that allow one party (the prover) to convince another party (the verifier) that a certain statement or claim is true without revealing any additional information beyond the truth of the statement. There are several types of proof schemes, each with its own characteristics and use cases.
Expand Down
16 changes: 16 additions & 0 deletions docs/releases/varanasi-testnet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
id: varanasi-testnet
title: Varanasi Testnet
description: Varanasi Testnet Release of Airchains
sidebar_position: 1
---

# Varanasi Testnet

#### Airchains Testnet (Varanasi) - Upcoming (February 2025)

:::info

Varanasi testnet release is coming soon.

:::
2 changes: 1 addition & 1 deletion docs/rollups/cosmwasm-zk-rollup/become-a-validator.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,6 @@ To See if you were accepted as a validator,
airwasmicd query tendermint-validator-set
```

:::info
:::success
If your address is visible, it indicates successful inclusion in the validator set. Please note that this process may take some time.
:::
2 changes: 1 addition & 1 deletion docs/rollups/cosmwasm-zk-rollup/run-a-full-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Clone the WASM Station repository from the provided GitHub URL and navigate into

```bash
git clone https://github.com/airchains-network/wasm-station
cd wasm-station;
cd wasm-station
```

### Step 2: Set Variables and Clean Environment
Expand Down
Loading