# Prerequisites

{% hint style="info" %}
[**Book an audit with Zokyo**](https://www.zokyo.io/)
{% endhint %}

{% hint style="info" %}
**Understanding the prerequisites:** Provides a checklist of key knowledge areas beneficial to grasp the tutorial's content fully. While familiarity with blockchain basics, Ethereum, and Solidity is beneficial, don't be deterred if you're not yet fully versed in these areas. Dive in, absorb what you can, and use this as an opportunity to identify and later fill any gaps in your understanding - learning is a journey, after all.
{% endhint %}

To gain maximum value from this tutorial, you should possess a foundational understanding of the following areas

**1. Blockchain Basics:** A understanding of blockchain technology, including concepts like distributed ledger technology, decentralization, and consensus mechanisms, is crucial. Familiarity with how transactions are added to a block and how these blocks form a blockchain will also be beneficial.&#x20;

**2. Ethereum:** As Ethereum is one of the primary platforms where smart contracts are used, knowledge of its structure, functioning, and specifically the Ethereum Virtual Machine (EVM) is essential. You should also be comfortable with the process of how transactions are conducted on the Ethereum network, including gas, gas prices, and transaction fees.

**3. Smart Contracts:** Familiarity with what smart contracts are, their use cases, and how they operate is vital. An understanding of how smart contracts interact with the Ethereum network and other smart contracts will be beneficial.

**4. Solidity:** Since we'll be dealing with code examples, a working knowledge of Solidity, the primary programming language used to write smart contracts on Ethereum, is required. This includes understanding the syntax, data types, and functions in Solidity.

{% hint style="info" %}
Any questions so far? [ask Omar](https://www.linkedin.com/in/omar-inuwa/)
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorials/tutorial-1-front-running/prerequisites.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
