Я хочу создать авторизацию и регистрацию с помощью кошелька тон, но при попытке вывести кошелек пользователя выводится стандартный кошелек а не 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>