> For the complete documentation index, see [llms.txt](https://devs.truebit.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://devs.truebit.io/architecture/introduction/truebit-verify-nodes.md).

# Truebit Verify Nodes

### Testing Truebit Tasks

Task Developers aiming to create Truebit tasks should utilize the Truebit CLI to build, test, and deploy their work. The CLI connects directly to a hosted Truebit Node, eliminating the need for developers to install the node themselves if they are focused solely on development. This setup simplifies and streamlines the development process. &#x20;

### Truebit Nodes Providing Decentralized Execution

#### Startup/Shutdown Process

Upon startup or shutdown, the node automatically [registers or deregisters with the blockchain](/architecture/audit-layer.md#node-registry-smart-contract) , ensuring its availability for task execution.

#### Node Selection Process

When a Task Requester executes a Truebit Function task, the Truebit Verify Hub selects a decentralized group of nodes responsible for verifying the task.&#x20;

The Truebit Verify Hub randomly selects a subset or union of Node subsets. This selection relies on random bits generated by concatenating three seeds: the Task Requester’s message timestamp, the Dispatcher’s message timestamp, and a recent, unpredictable blockchain block hash. These immutable and verifiable random bits are accessible to anyone with the task transcript and can also serve as optional inputs for the task.&#x20;

This process ensures transparency and auditability by preventing collusion between the Truebit Verify Hub and any registered Truebit Verify Node on the network.

#### Verification

During this phase, selected nodes from the "Node Selection" process will execute the Truebit task and submit an encrypted solution to the Verify Hub before the execution timeout. This ensures that any Truebit Verify node assigned to the task can access the response until all selected nodes provide the solution or the protocol initiates the execution timeout. Afterwards, the Truebit Verify Hub logs a "Solution revealed" message in the transcript.

#### Local Storage

To make sure the Truebit Verify Hub behaves in a trustworthy way, all the nodes store every message sent to and from the Hub. This way, if something goes wrong, like an incorrect payment to the node, it has all the information needed to dispute it.

All the messages are stored within the folder app/datadb.

The file names are defined as:

```
${process.env.LOCALSTORE}/${process.env.NODE_ENV}-${process.env.ADDRESS}-eventDB.json
```

This is the list of stored messages:

* `task_created`
* `node_outcome`
* `computed_outcome`
* `invoice` (Only for Function Tasks execution)


---

# 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://devs.truebit.io/architecture/introduction/truebit-verify-nodes.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.
