conexaoweb3.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. var contaUsuario;
  2. // Verifica a conexão Web3 e a conta do usuario
  3. function verificaConta() {
  4. var statusConexao = document.getElementById("statusConexao");
  5. // Verifica o status da conexão
  6. if (web3 && web3.isConnected()) {
  7. if (web3.eth.accounts[0] == undefined) {
  8. console.info('Não esta conectado ao Metamask');
  9. statusConexao.innerHTML = "Desconectado";
  10. } else {
  11. console.info('Conectado. Qual versão da lib Web3 foi injetado pelo Metamask? ' + web3.version.api);
  12. contaUsuario = web3.eth.accounts[0];
  13. statusConexao.innerHTML = 'Conectado a conta ' + contaUsuario;
  14. getCarteira(contaUsuario)
  15. }
  16. } else {
  17. statusConexao.innerHTML = 'Desconectado';
  18. }
  19. }
  20. // web3.eth.getBalance
  21. // https://github.com/ethereum/wiki/wiki/JavaScript-API#web3ethgetbalance
  22. function getCarteira(cUsuario) {
  23. const res = web3.eth.getBalance(cUsuario, function (error, result) {
  24. if (!error) {
  25. balance = result.c[0]
  26. //console.log(balance)
  27. qtdConta.innerHTML = `Balanço da conta é de : ${balance} <br>`
  28. } else
  29. console.error(error)
  30. })
  31. }
  32. window.addEventListener('load', async (event) => {
  33. var statusConexao = document.getElementById("statusConexao");
  34. // Navegadores com novo Metamask
  35. if (window.ethereum) {
  36. window.web3 = new Web3(ethereum);
  37. try {
  38. // Solicita acesso a carteira Ethereum se necessário
  39. await ethereum.enable()
  40. console.log("Usando nova versão");
  41. // Contas agora estão expostas
  42. } catch (error) { // Usuário ainda não deu permissão para acessar a carteira Ethereum
  43. alert('Por favor, dê permissão para acessarmos a sua carteira Ethereum.');
  44. statusConexao.innerHTML = 'Desconectado';
  45. }
  46. } else if (window.web3) { // Navegadores DApp antigos
  47. window.web3 = new Web3(web3.currentProvider)
  48. } else { //
  49. alert('Para utilizar os nossos serviços você precisa instalar o Metamask. Por favor, visite: metamask.io');
  50. }
  51. obtemNomeEmpresa()
  52. verificaConta()
  53. getCarteira()
  54. });