> For the complete documentation index, see [llms.txt](https://docs.pharos.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pharos.xyz/resources/solidity.md).

# Solidity

The official Solidity documentation is the most comprehensive and up-to-date resource for learning about the Solidity language. It covers everything from basic syntax to advanced topics and provides detailed explanations, examples, and code snippets.

* **Link**: [Solidity Documentation](https://docs.soliditylang.org/en/latest/)

### Learning Resources

#### Online Tutorials and Courses

* **CryptoZombies**: An interactive online course that teaches Solidity through building a zombie game.
  * **Link**: [CryptoZombies](https://cryptozombies.io/)
* **Dapp University**: A YouTube channel with over 10 hours of hands-on tutorials for both beginners and experienced Solidity developers.
  * **Link**: [Dapp University](https://www.youtube.com/user/DappUniversity)
* **Udemy Ethereum Blockchain Developer Bootcamp With Solidity**: An extensive course providing up-to-date blockchain development tools and resources.
  * **Link**: [Udemy Course](https://www.udemy.com/course/ethereum-and-solidity-the-complete-developers-guide/)

#### Community and Discussion

* **Ethereum StackExchange**: A platform for asking and answering questions related to Solidity and Ethereum development.
  * **Link**: [Ethereum StackExchange](https://ethereum.stackexchange.com/)
* **Solidity Language Users Chat**: A chat room for Solidity developers to discuss and share knowledge.
  * **Link**: [Solidity Chat](https://gitter.im/ethereum/solidity)

### Development Environments and Tools

#### Integrated Development Environments (IDEs)

* **Remix**: A browser-based IDE with an integrated compiler and Solidity runtime environment.
  * **Link**: [Remix IDE](https://remix.ethereum.org/)
* **Hardhat**: An Ethereum development environment with local Ethereum network, debugging features, and a plugin ecosystem.
  * **Link**: [Hardhat](https://hardhat.org/)
* **Foundry**: A fast, portable, and modular toolkit for Ethereum application development written in Rust.
  * **Link**: [Foundry](https://github.com/foundry-rs/foundry)

#### Editor Integrations

* **Visual Studio Code (VS Code)**: Solidity extensions for syntax highlighting, compilation, and debugging.
  * **Link**: [Solidity VS Code Extension](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity)
* **IntelliJ IDEA**: Solidity plugin for IntelliJ IDEA and other JetBrains IDEs.
  * **Link**: [IntelliJ IDEA Solidity Plugin](https://plugins.jetbrains.com/plugin/10479-solidity)

#### Linters and Tools

* **Solhint**: A Solidity linter that provides security, style guide, and best practice rules for smart contract validation.
  * **Link**: [Solhint](https://github.com/protofire/solhint)
* **Ethlint**: A linter to identify and fix style and security issues in Solidity.
  * **Link**: [Ethlint](https://github.com/duaraghav8/Ethlint)

### Additional Resources

#### Example Projects

* **Solidity by Example**: A collection of example contracts to help you understand Solidity in practice.
  * **Link**: [Solidity by Example](https://docs.soliditylang.org/en/latest/solidity-by-example.html)

#### Security and Best Practices

* **Security Considerations**: A section in the Solidity documentation that provides guidance on security best practices.
  * **Link**: [Security Considerations](https://docs.soliditylang.org/en/latest/security-considerations.html)

### Community Translations

The Solidity documentation is available in multiple languages, thanks to community volunteers.

* **Chinese (Simplified)**: [Solidity Documentation (Chinese)](https://readthedocs.org/projects/solidity-zh/downloads/pdf/latest/)
* **Spanish**: [Solidity Documentation (Spanish)](https://solidity.readthedocs.io/es/latest/)
* **Russian**: [Solidity Documentation (Russian)](https://solidity.readthedocs.io/ru/latest/)

### Third-Party Tools and Parsers

* **Solidity Parser for JavaScript**: A Solidity parser built on top of ANTLR4 grammar for JavaScript.
  * **Link**: [Solidity Parser for JavaScript](https://github.com/federicobond/solidity-parser-antlr)
* **Sūrya**: A utility tool for smart contract systems, offering visual outputs and information about contract structure.
  * **Link**: [Sūrya](https://github.com/ConsenSys/surya)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.pharos.xyz/resources/solidity.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
