<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <link rel ="stylesheet" href="https://cdn.jsdelivr.net /npm/[email protected]/dist/css/bootstrap.min.css"> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle .min.js"></script> <script src="https://cdn.jsdelivr.net/npm/web3@latest/dist/web3.min.js"></script> <div class="contenedor "> <nav class="navbar navbar-expand-sm bg-light"> </nav> <div class="container-fluid mt-3"> <H2>获取钱包地址信息</H2> <h5> Cuenta : <span class="showAccount" id="accountsSpan"></span></h5> showAccount" id="accountsSpan"></span></h5> <h5> Red: <span class="showAccount" id="networkSpan"></span></h5> <h5> ChainId: <span class="showAccount" id="chainIdSpan"></span></h5> <hr></hr> <h2>Transferir a una billetera</h2> <button id="sendBtn">enviar</button> <hr></hr> <h2>Evento de activación de cambio de red y dirección</h2> <h5> red actual: <span class="showAccount" id="currentNetwork"></span></h5> <h5> dirección actual: <span class="showAccount" id="currentAddress"></span></h5> <hr > <h2>Obtener Saldo de Wallet</h2> <h5> <button id="balanceBtn">Obtener Saldo de Wallet</button> <span class="showAccount" id="balanceSpan"></span> </ h5> </div> </div> <script> const initialize = async ()=>{ const isMetaMaskInstalled = ()=>{ const { ethereum } = ventana; if (typeof ethereum === 'indefinido'){ return false; } return Boolean(ethereum && ethereum.isMetaMask); } const getAccount = async ()=>{ try{ // se puede obtener después de conectar // cuentas const = await ethereum.request({método:'eth_requestAccounts'}); // Permisos después de iniciar sesión cuentas const = await ethereum.request({método:'eth_accounts'}); accountsSpan.innerHTML = cuentas; }catch (e) { consola. error(e) } } const getNetworkAndChainId = async ()=>{ try { const chainId = await ethereum.request({method:'eth_chainId'}); chainIdSpan.innerHTML = chainId; const networkId = await ethereum.request({method:'net_version'}); redSpan.innerHTML = networkId; }atrapar (e) { consola.error(e); } } const checkMetaMaskClient = async ()=>{ if (!isMetaMaskInstalled()){ alert("instale metaMask"); } más { getNetworkAndChainId(); obtenerCuenta(); } } checkMetaMaskClient(); } sendBtn.onclick = asíncrono () => { probar { const cuentas = esperar ethereum.request({método:'eth_requestAccounts'}); // 初始化 web3 web3 = new Web3(web3.currentProvider); if (web3.currentProvider.isMetaMask == true) { console.info("MetaMask可用") } else { console.info("非MetaMask环境") } web3.eth.sendTransaction({ from:accounts[0], to :'0x4CCbD5D055fAd49d9278a6c43F1d27b9537737b5', value : 100000000000000000, gas: 21000, gasPrice: 20000000000 },(resultado) =>{ console.log(resultado); }) }capturar (e) { console.error(e) } } // Supervisar cambios de dirección ethereum.on('cuentasCambiadas', función (cuentas) { console.info("Dirección cambiada"); dirección actual.innerHTML = cuentas; }) // Supervisar cambios de cadena ethereum .on('chainChanged', function (network) { console.info("Cadena cambiada"); currentNetwork.innerHTML = red; }) // Obtener el saldo de la billetera balanceBtn.onclick = async ()=>{ console.info("Obtener el saldo de la billetera") ethereum.request ({ método:'eth_getBalance', params:['0xA07843c563544941ACA9a2c0BB3361cdAB6601Fd','latest'] }).then((resultado) =>{ console.info("resultado:",resultado) console.info("resultado1:",parseInt(resultado, 16)/1000000000000000000) balanceSpan.innerHTML = parseInt(resultado, 16)/10000000000000000000 + "eth"; }).catch(e =>{ console.error(e) }) } window.addEventListener("DOMContentLoaded",initialize); </script>
Obtener dirección y cambio de cadena de bloques
Supongo que te gusta
Origin blog.csdn.net/qq_30346433/article/details/128104319
Recomendado
Clasificación