Blockchain Javascript

Web3 Metamask Cüzdan Bağlama

Tarayıcısında metamask eklentisi bulunan kullanıcınızın cüzdanını web sayfasına bağlamak ve ona kullanım sözleşmesi göstermek için aşağıdaki html kodlar kullanılabilmektedir.

<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/web3/1.8.1/web3.min.js" integrity="sha512-vtUOC0YIaNm/UutU7yfnwqnF9LOYnXtpHe2kwi1nvJNloeGQuncNBiEKP/3Ww3D62USAhbXGsnYpAYoiDsa+wA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
</head>
<body>
    <button onclick="clickconnect()">Connect</button>
    <script>
        var web3 = new Web3(ethereum);
        async function clickconnect(){
            let accounts = await ethereum.enable();
            let account = accounts[0];
            console.log(account);
            var agreement = account + " - Cüzdanınızı xxx sitesine bağlamayı kabul etmektesiniz";
            let signature = await web3.eth.personal.sign(agreement, account)
            console.log(signature);
            let recover = web3.eth.accounts.recover(agreement, signature);
            console.log(recover.toLowerCase());
            console.log({ login_approved: account.toString().toLowerCase()==recover.toString().toLowerCase() });
        }
    </script>
</body>
</html>