# Расширение Wallet

*Примечание: wallet (кошелек) находится на очень ранней стадии разработки, небезопасен и еще не готов к работе.*

В этом руководстве рассказывается, как создать расширение кошелька и как использовать его с вашим dApp.

1. Установка кошелька в Chrome
2. Настройка функций кошелька
3. Интеграция с dApp&#x20;

Код для кошелька можно найти здесь [github](https://github.com/aptos-labs/aptos-core/tree/main/ecosystem/web-wallet).

### Шаг 1) Установите кошелек в Chrome <a href="#step-1-install-the-wallet-on-chrome" id="step-1-install-the-wallet-on-chrome"></a>

1. Загрузите последний [wallet release](https://github.com/aptos-labs/aptos-core/releases/) и разархивируйте
2. Откройте окно Chrome и перейдите к [chrome://extensions](chrome://extensions/)
3. Включите **Developer mode** в правом верхнем углу страницы расширения
4. Нажмите **Load unpacked** и укажите папку, которую вы только что скачали

Теперь вы должны увидеть Aptos wallet в своих расширениях Chrome!

*Совет: откройте загруженные расширения, щелкнув значок в виде кусочка пазла на панели инструментов Chrome.*

### Шаг 2) Функции кошелька <a href="#step-2-wallet-functionality" id="step-2-wallet-functionality"></a>

В кошельке реализованы некоторые основы взаимодействия с Aptos

* Создание нового аккаунта
* Пополнение аккаунта тестовыми монетами
* Отправка монет на другой адрес
* Ссылка на ресурсы вашего аккаунта в Explorer&#x20;
* Просмотр и создание NFT
* Выбор различных сетей

### Шаг 3) Интеграция с dApp <a href="#step-3-dapp-integration" id="step-3-dapp-integration"></a>

dApps могут делать запросы кошельку со своего веб-сайта:

* `connect()`: предлагает пользователю разрешить подключение из dApp *(необходимо для выполнения других запросов)*
* `isConnected()`: выдает ответ, если dApp установил соединение с кошельком
* `account()`: получает адрес учетной записи, зарегистрированной в кошельке
* `signAndSubmitTransaction(transaction)`: подписывает данную транзакцию и отправляет в цепочку
* `signTransaction(transaction)`: подписывает данную транзакцию и возвращает ее для отправки dApp.
* `disconnect()`: удаляет связь между dApp и кошельком. Полезно, когда пользователь хочет удалить соединение.

#### Использование <a href="#usage" id="usage"></a>

```
// Establish connection to the wallet
const result = await (window as any).aptos.connect()

// Check connection status of wallet
const status = await (window as any).aptos.isConnected()

// Gets the address of the account signed into the wallet
const accountAddress = await (window as any).aptos.account()

// Create a transaction
const transaction = {
    type: 'script_function_payload',
    function: '0x1::Coin::transfer',
    type_arguments: ['0x1::TestCoin::TestCoin'],
    arguments: [receiverAddress, amount]
}

// Send transaction to the extension to be signed and submitted to chain
const response = await (window as any).aptos.signAndSubmitTransaction(transaction)

// Send transaction to the extension to be signed and returns
const signedTransaction = await (window as any).aptos.signTransaction(transaction)

// Disconnect dApp from the wallet
await (window as any).aptos.disconnect(transaction)
```
