> 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/ethereum/components.md).

# Components

Components list:

* [Contracts](/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/contracts.md)
* [Data Entities](/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/data-entities.md)
* [Elements](/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/elements.md)
* [Events](/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/events.md)
* [Functions](/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/functions.md)
* [Imports](/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/imports.md)
* [Mapping](/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/mapping.md)
* [Modifiers](/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/modifiers.md)
* [NsMetaData](/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/natural-language-metadata.md)
* [Operations](/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/operations.md)

To add a new contract, click the "+" button next to "Contracts." This will allow you to create a new contract, which serves as the core building block in your smart contract application. In the context of blockchain, a contract is a self-executing agreement with the terms of the agreement directly written into code. Contracts automatically enforce and execute the terms, ensuring transparency and security.

Once you've added a contract, you can proceed to add other components like events, custom functions, imports, modifiers, and data entities to further define and customize its functionality.

1. **Contracts**: Create and manage the main logic of your application.
2. **Events**: Define events that your contract will emit.
3. **Custom Functions**: Add specific functions to handle various tasks.
4. **Imports**: Include external libraries or other contracts.
5. **Modifiers**: Create conditions for function execution.
6. **Data Entities**: Define the data structure used in your contract

#### Editing and Deleting Contracts

* **Edit**: To modify an existing contract, select it from the dropdown menu and click "Edit."
* **Delete**: To remove a contract, select it and click "Delete."

These options provide flexibility in managing your contracts, ensuring that you can easily update and refine your smart contract application.

<figure><img src="/files/0yDlhvoMiQtvZtJpl9Wh" alt=""><figcaption></figcaption></figure>


---

# 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/ethereum/components.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.
