# 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: 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://docs.astrakode.tech/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components.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.
