Расширение Wallet

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

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

  1. Установка кошелька в Chrome

  2. Настройка функций кошелька

  3. Интеграция с dApp

Код для кошелька можно найти здесь github.

Шаг 1) Установите кошелек в Chrome

  1. Загрузите последний wallet release и разархивируйте

  2. Откройте окно Chrome и перейдите к chrome://extensions

  3. Включите Developer mode в правом верхнем углу страницы расширения

  4. Нажмите Load unpacked и укажите папку, которую вы только что скачали

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

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

Шаг 2) Функции кошелька

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

  • Создание нового аккаунта

  • Пополнение аккаунта тестовыми монетами

  • Отправка монет на другой адрес

  • Ссылка на ресурсы вашего аккаунта в Explorer

  • Просмотр и создание NFT

  • Выбор различных сетей

Шаг 3) Интеграция с dApp

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

  • connect(): предлагает пользователю разрешить подключение из dApp (необходимо для выполнения других запросов)

  • isConnected(): выдает ответ, если dApp установил соединение с кошельком

  • account(): получает адрес учетной записи, зарегистрированной в кошельке

  • signAndSubmitTransaction(transaction): подписывает данную транзакцию и отправляет в цепочку

  • signTransaction(transaction): подписывает данную транзакцию и возвращает ее для отправки dApp.

  • disconnect(): удаляет связь между dApp и кошельком. Полезно, когда пользователь хочет удалить соединение.

Использование

// 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)

Last updated