# Developer References

For any developer who would like to start his Web3 development journey, we provide a reference list for tools (starter pack). Make sure to set up the [environment](/saakuru-source/saakuru-blockchain/environments.md) before starting.

### IDE:

1. [**Remix IDE (Beginner)** ](https://remix.ethereum.org/)**-** An open-source web and desktop application that helps in smart contract development, written in Solidity language for Ethereum and other blockchains. It is a powerful tool for writing, compiling, and debugging Solidity code directly from a web browser. (Wallet Connect doesn't support Saakuru yet).
2. [**Visual Studio Code (VS Code) (Experienced)**](< https://code.visualstudio.com/>) **-** A lightweight but powerful source code editor from Microsoft that runs on your desktop. It comes with support for JavaScript, TypeScript, and Node.js and has a rich ecosystem of extensions for other languages (including Solidity) and runtimes. VSCode Extensions can significantly enhance your coding experience by providing syntax highlighting, code snippets, linting, and compiling support. We recommend using "**Solidity by Juan Blanco" -** The most popular VS Code extension for Solidity, offering comprehensive language support for Solidity coding, including syntax highlighting, code snippets, linting, and more.

### Smart contract standards & libraries

1. [**OpenZeppelin**](https://openzeppelin.com/) **-** A library of secure, reusable smart contracts for Ethereum and other EVM and eWASM blockchains. It's a standard for secure blockchain applications, especially useful for DeFi projects.
2. [**DappSys by DappHub**](https://dapp.tools/dappsys/) **-** A collection of Solidity libraries that are rigorously tested and highly modular, making it easier to build complex smart contracts and decentralized applications.

### Most popular token standards

1. [**ERC-20 (Token Standard)**](https://docs.openzeppelin.com/contracts/4.x/erc20) **-** The technical standard used for all smart contracts on the Ethereum blockchain for token implementation. It defines a common list of rules that an Ethereum token has to implement, enabling interoperability across the platform.
2. [**ERC-721 (NFT - Non-Fungible Token Standard)**](https://docs.openzeppelin.com/contracts/4.x/erc721) **-** A standard for representing ownership of non-fungible items, allowing for the creation, trading, and ownership of unique digital assets on the Ethereum blockchain.
3. [**ERC-1155 (FT - Multi Token Standard)**](https://docs.openzeppelin.com/contracts/4.x/erc1155) **-** A token standard that enables a single contract to represent both fungible and non-fungible tokens, optimizing the process of transferring multiple token types.

### Dev environment:

1. [**Hardhat (Advanced)**](https://hardhat.org/) **-** A development environment to compile, deploy, test, and debug Ethereum software. Hardhat is designed to provide developers with a solid foundation for building smart contracts and dApps with Solidity.


---

# 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://source.saakuru.com/saakuru-source/saakuru-blockchain/developer-references.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.
