Код
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Connect Keeper</title>
<style>
body { font-family: Arial, sans-serif; padding: 40px; }
button { padding: 10px 20px; font-size: 16px; cursor: pointer; }
#userAddress { margin-top: 20px; font-weight: bold; }
#message { margin-top: 10px; color: red; }
</style>
</head>
<body>
<h1>Подключение Keeper Wallet</h1>
<button id="connectBtn">Connect Keeper</button>
<div id="message"></div>
<div id="userAddress"></div>
<!-- Keeper Wallet SDK -->
<script src="https://unpkg.com/@waves/waves-keeper@1.4.1/dist/waves-keeper.min.js"></script>
<script>
const connectBtn = document.getElementById('connectBtn');
const messageEl = document.getElementById('message');
const userAddressEl = document.getElementById('userAddress');
connectBtn.addEventListener('click', async () => {
messageEl.textContent = '';
userAddressEl.textContent = '';
if (!window.WavesKeeper) {
messageEl.innerHTML = 'Keeper Wallet не установлен. <a href="https://chrome.google.com/webstore/detail/keeper-wallet/lpilbniiabackdjcionkobglmddfbcjo" target="_blank">Установить</a>';
return;
}
try {
const response = await window.WavesKeeper.publicState(); // получаем состояние Keeper
if (!response || !response.account || !response.account.address) throw new Error('Не удалось получить адрес');
const address = response.account.address;
userAddressEl.textContent = 'Адрес пользователя: ' + address;
} catch (err) {
messageEl.textContent = 'Ошибка: ' + (err.message || err.toString());
}
});
</script>
</body>
</html>