> For the complete documentation index, see [llms.txt](https://cr-nepos.gitbook.io/aptos-ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cr-nepos.gitbook.io/aptos-ru/gaidy/vzaimodeistvie-s-blokcheinom-aptos.md).

# Взаимодействие с блокчейном Aptos

Aptos Blockchain использует для выполнения операций виртуальную машину [Move](https://diem.github.io/move/) (VM). В то время как многие блокчейны реализуют набор собственных операций, Aptos делегирует все операции Move, включая: создание учетной записи, перевод средств и публикацию модулей Move. Для поддержки этих операций блокчейн, построенный на базе Move, должен предоставлять собой среду (подобно операционной системе для компьютера или минимальному набору функций) для взаимодействия с блокчейном. В этом разделе мы обсудим эти функции, открытые через функции Aptos Framework  `script` .

Это руководство (совместно с [руководством по модулю Move](/aptos-ru/rukovodstva-po-primeneniyu/vash-pervyi-move-modul.md)) откроет минимальный объем информации, необходимый для начала создания многофункциональных приложений на базе Aptos Blockchain. Примечание: Aptos Framework находится в стадии интенсивной разработки, и этот документ может быть устаревшим. Самый последний фреймворк можно найти в исходном коде [здесь](https://github.com/aptos-labs/aptos-core/tree/main/aptos-move/framework/aptos-framework/sources).

Основные функции, предоставляемые пользователям в рамках Aptos Framework, включают:

* Отправка и получение сетевой монеты `Coin<TestCoin>`
* Создание новой учетной записи
* Публикация нового модуля Move

Примечание: в этом документе предполагается, что читатели уже знакомы с процессом отправки транзакций, как описано в руководстве «[Ваша первая транзакция](/aptos-ru/rukovodstva-po-primeneniyu/vasha-pervaya-tranzakciya.md)».

### Отправка и получение сетевой монеты `Coin<TestCoin>` <a href="#sending-and-receiving-the-network-coin-cointestcoin" id="sending-and-receiving-the-network-coin-cointestcoin"></a>

`Coin<TestCoin>` требуется для оплаты комиссий за газ при отправке и выполнении транзакций.`Coin<TestCoin>` можно получить с помощью Devnet Faucet. См. руководство [Ваша первая транзакция](/aptos-ru/rukovodstva-po-primeneniyu/vasha-pervaya-tranzakciya.md) в качестве примера.&#x20;

Полезная информация по выполнению трансфера:

```
{
  "type": "script_function_payload",
  "function": "0x1::Coin::transfer",
  "type_arguments": ["0x1::TestCoin::TestCoin"],
  "arguments": [
    "0x737b36c96926043794ed3a0b3eaaceaf",
    "1000",
  ]
}
```

Это указывает виртуальной машине выполнить `script` `0x1::Coin::transfer` с аргументом типа 0x1::TestCoin::TestCoin. Здесь требуется тип, так как Coin — это наш стандартный модуль, который можно использовать для создания многих типов монет. См. руководство «[Ваша первая монета](/aptos-ru/rukovodstva-po-primeneniyu/vasha-pervaya-moneta.md)» для примера создания пользовательской монеты. Первый аргумент — это адрес получателя `0x737b36c96926043794ed3a0b3eaaceaf`, а второй — сумма перевода `1000`. Адрес отправителя — это адрес учетной записи, которая отправила транзакцию, запрашивающую этот `script`.

### Создание новой учетной записи

Полезная информация по созданию новой учетной записи:

```
{
  "type": "script_function_payload",
  "function": "0x1::AptosAccount::create_account",
  "type_arguments": [],
  "arguments": [
    "0x0c7e09cd9185a27104fa218a0b26ea88",
    "0xaacf87ae9d8a5e523c7f1107c668cb28dec005933c4a3bf0465ffd8a9800a2d900",
  ]
}
```

Это указывает виртуальной машине Move выполнить `script` `0x1::AptosAccount::create_account`. Первый аргумент — это адрес создаваемой учетной записи, а второй — прообраз ключа аутентификации (который упоминается в разделе «[Учетные записи](/aptos-ru/osnovy/uchyotnye-zapisi-akkaunty.md)»). Для аутентификации с одной подписью это открытый ключ, скомбинированный с байтом`0` (или `pubkey_A | 0x00`). Это необходимо для предотвращения захвата адреса учетной записи. Выполнение этой инструкции проверяет, что последние 16 байтов ключа аутентификации совпадают с 16-байтовым адресом учетной записи. Мы активно работаем над улучшением этого API, чтобы он поддерживал прием 32-байтового адреса учетной записи, что устранило бы проблемы, связанные с захватом или манипулированием учетной записью.

### Публикация нового модуля Move

Полезная информация для публикации нового модуля:

```
"type": "module_bundle_payload",
"modules": [
    {"bytecode": "0x..."},
],
```

Это указывает виртуальной машине опубликовать байт-код модуля под учетной записью отправителя. Полное руководство см. в модуле «[Ваш первый Move модуль](/aptos-ru/rukovodstva-po-primeneniyu/vash-pervyi-move-modul.md)».

Важно отметить, что в байт-коде Move должен быть указан тот же адрес, что и в учетной записи отправителя, иначе транзакция будет отклонена. Например, при условии, что адрес учетной записи`0xe110`, модуль Move необходимо будет обновить, так как такой модуль `module 0xe110::Message`, `module 0xbar::Message` будет отклонен. В качестве альтернативы можно использовать адрес с назначенным псевдонимом, такой как `module HelloBlockchain::Message` , но псевдоним `HelloBlockchain` необходимо будет обновить до `0xe110` в файле `Move.toml` . Мы работаем с командой Move и планируем включить компилятор в наш интерфейс REST, чтобы решить эту проблему.


---

# 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:

```
GET https://cr-nepos.gitbook.io/aptos-ru/gaidy/vzaimodeistvie-s-blokcheinom-aptos.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.
