Задать вопрос
@Chesterfield25

Почему не выводит DNS адрес кошелька?

Я хочу создать авторизацию и регистрацию с помощью кошелька тон, но при попытке вывести кошелек пользователя выводится стандартный кошелек а не DNS.
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" href="/path/to/favicon.ico">
    <link rel="stylesheet" type="text/css" href="./css/style.css">
    <!-- Подключаем скрипт TON Connect -->
    <script src="https://unpkg.com/@tonconnect/ui@latest/dist/tonconnect-ui.min.js"></script>

    <title>CYPAY</title>
</head>

<body>
    <main>
        <img class="img-bg" src="./assets/logodefault.png" width="64" height="64" alt="">
        <!-- Кнопка для подключения кошелька -->
        <div id="connect-wallet"></div>
    </main>

    <!-- Вывод адреса подключенного кошелька -->
    <p id="wallet-address">
        Адрес кошелька: <span id="address">Не подключено</span>
    </p>

    <script>
        async function init() {
            const tonConnectUI = new TON_CONNECT_UI.TonConnectUI({
                manifestUrl: 'https://criptopays.net/tonconnect/tonconnect-manifest.json',
                buttonRootId: 'connect-wallet'
            });

            // Подписка на изменения статуса подключения
            const unsubscribe = tonConnectUI.onStatusChange((walletAndwalletInfo) => {
                const currentAccount = walletAndwalletInfo?.account;
                const currentWalletInfo = walletAndwalletInfo?.walletInfo;

                // Обновляем UI с адресом кошелька
                if (currentAccount) {
                    // Если хотите выводить стандартный адрес с `0:`, используйте:
                    document.getElementById('address').textContent = currentAccount.address;

                    // Если хотите выводить DNS-адрес с `U` (если доступен), используйте:
                    // document.getElementById('address').textContent = currentWalletInfo?.tondns || currentAccount.address;

                    console.log("Текущий кошелек:", walletAndwalletInfo.wallet);
                    console.log("Текущий аккаунт:", currentAccount);
                    console.log("Текущий DNS-адрес:", currentWalletInfo?.tondns);
                } else {
                    document.getElementById('address').textContent = 'Не подключено';
                    console.log("Кошелек не подключен.");
                }
            });

            // Вызов функции init только после успешного подключения кошелька
            const currentAccount = tonConnectUI.account;
            const currentWalletInfo = tonConnectUI.walletInfo;

            if (currentAccount) {
                // Если хотите выводить стандартный адрес с `0:`, используйте:
                document.getElementById('address').textContent = currentAccount.address;

                // Если хотите выводить DNS-адрес с `U`, используйте:
                // document.getElementById('address').textContent = currentWalletInfo?.tondns || currentAccount.address;
            } else {
                document.getElementById('address').textContent = 'Не подключено';
            }

            // Пример использования unsubscribe для отмены подписки
            // unsubscribe(); // для отмены подписки, если потребуется
        }

        init(); // Инициализация подключения и получения информации о кошельке
    </script>
</body>

</html>
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы