> For the complete documentation index, see [llms.txt](https://docs.graphlinq.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.graphlinq.io/dev-tooling/blocks.md).

# Blocks

In the GraphLinq Integrated Development Environment (IDE), a "Block" or "Node" refers to a fundamental building block used for creating automated workflows, smart contracts, and decentralized applications (dApps) on the GraphLinq platform. Nodes represent individual elements of a graphical programming language that users can visually connect together to create complex and functional systems.

Each node in the GraphLinq IDE serves a specific purpose and can perform various tasks or operations. Nodes are connected together in a flowchart-like manner to define the logical flow of a program. The connections between nodes, often represented as colored lines, determine the sequence in which the operations are executed. These lines indicate the flow of data or control between the nodes, allowing them to interact and exchange information.

In the GraphLinq IDE, blocks or nodes can be of different types, including but not limited to:

1. Function Nodes: These nodes execute specific functions or operations, such as retrieving data, performing calculations, calling APIs, or interacting with the blockchain.
2. Variable Nodes: Variable nodes store and handle data within the graph. They can be used to store values like strings, numbers, or other data types.
3. Event Nodes: These nodes can be triggered by external events or conditions, such as receiving input or detecting changes in data.
4. Control Flow Nodes: Control flow nodes define the logic and structure of the graph, allowing for conditional branching and loop iterations.
5. Connector Nodes: Connector nodes allow users to connect to external data sources, such as blockchains, messaging platforms like Telegram or Discord, block explorers, and more. These nodes facilitate data retrieval and communication with external services.
6. Condition Nodes: Condition nodes offer a way to implement different paths of execution based on the value of node results or specified pre-set variables. They allow users to create IF statements, Boolean branches, and other conditional logic.

Each node typically has input (IN) and output (OUT) parameters that define the data flow. IN parameters are the inputs required for the node to execute, while OUT parameters are the results or data produced by the node's operation.

Nodes can be customized and extended through user-defined code, allowing developers to create custom nodes tailored to their specific use cases and requirements. This flexibility and extensibility empower developers to create sophisticated workflows and applications without the need for extensive coding knowledge.

Overall, in the GraphLinq IDE, blocks or nodes are the essential building blocks that enable developers and users to create powerful, automated systems by visually designing the logic and flow of their applications in a user-friendly, graphical manner.


---

# 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.graphlinq.io/dev-tooling/blocks.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.
