conexaoweb3.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. var contaUsuario;
  2. // Verifica a conexão Web3 e a conta do usuario
  3. function verificaConta() {
  4. // Verifica o status da conexão
  5. if (web3 && web3.isConnected()) {
  6. if (web3.eth.accounts[0] == undefined) {
  7. console.info('Não esta conectado ao Metamask');
  8. $('#statusConexao').text('Desconectado');
  9. } else {
  10. console.info('Conectado. Qual versão da lib Web3 foi injetado pelo Metamask? ' + web3.version.api);
  11. contaUsuario = web3.eth.accounts[0];
  12. $('#statusConexao').text('Conectado a conta ' + contaUsuario);
  13. }
  14. } else {
  15. $('#statusConexao').text('Desconectado');
  16. }
  17. }
  18. window.addEventListener('load', async (event) => {
  19. // Navegadores com novo Metamask
  20. if (window.ethereum) {
  21. window.web3 = new Web3(ethereum);
  22. try {
  23. // Solicita acesso a carteira Ethereum se necessário
  24. await ethereum.enable()
  25. console.log("Usando nova versão");
  26. // Contas agora estão expostas
  27. } catch (error) { // Usuário ainda não deu permissão para acessar a carteira Ethereum
  28. alert('Por favor, dê permissão para acessarmos a sua carteira Ethereum.');
  29. $('#statusConexao').text('Desconectado');
  30. }
  31. } else if (window.web3) { // Navegadores DApp antigos
  32. window.web3 = new Web3(web3.currentProvider)
  33. } else { //
  34. alert('Para utilizar os nossos serviços você precisa instalar o Metamask. Por favor, visite: metamask.io');
  35. }
  36. verificaConta();
  37. });