> For the complete documentation index, see [llms.txt](https://docs.astrakode.tech/akb-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.astrakode.tech/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/hyperledger-fabric/components/functions.md).

# Functions

## Introduction

Define the Name of this Function. A function's name is used to name and differentiate functions. It is advised that the name be specific and descriptive enough to be able to infer the function's purpose and distinguish it from other functions. Furthermore, the name will be utilized in the code as keyword to name the function

## Configuration

**Function Visibility**

Determine whether the function is public or not. This will affect how the function can be called:

* **Public**: Can be called both from inside the contract and from the outside world.
* **Private**: Can only be called from within the contract and is not inherited by derived contracts.

This setup allows you to control the accessibility and behavior of your functions, ensuring they operate as intended within your smart contract.

<figure><img src="/files/x946YkMDbWm7OWJ3W4BN" alt="" width="443"><figcaption></figcaption></figure>

**Define the Input for this Function**

Specify the input for the function. This pertains to the function's signature and establishes the type of Data Entities that the function will require as input, if any.

**Define the Return for this Function**

Specify the return value for the function. This also pertains to the function's signature and establishes the type of Data Entity that the function will return, if any.


---

# 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.astrakode.tech/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/hyperledger-fabric/components/functions.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.
