Ab dem 2. November wird MetaMask standardmäßig keine Benutzerkonten mehr anzeigen und wir müssen es tun. Ich bin verwirrt darüber, wie wir das in unsere Dapps integrieren sollen.
Zum Beispiel habe ich eine Standard-web3.js-Datei mit dem folgenden Code:
import Web3 from 'web3';
let web3;
if (typeof window !== 'undefined' && typeof window.web3 !== 'undefined') {
// metamask is running
web3 = new Web3(window.web3.currentProvider);
} else {
//user is not running metamask
// create provider through infura
const provider = new Web3.providers.HttpProvider(
// pass url of remote node
'https://rinkeby.infura.io/v3/censored'
);
web3 = new Web3(provider);
}
export default web3;
Sollen Änderungen in der Datei web3.js vorgenommen werden? Oder sollte ich eine Schaltfläche auf der Website erstellen, auf die der Benutzer klicken muss, um mir Zugriff auf sein MetaMask-Konto zu gewähren?
Lösung gefunden! Höchstwahrscheinlich haben Sie eine web3.js-Datei, die Sie in Ihre Standard-App exportieren. Die Lösung ist einfach:
import Web3 from 'web3';
let web3;
if (window.ethereum) {
// metamask is available
window.ethereum.enable();
web3 = new Web3(window.web3.currentProvider);
} else {
//user is not running metamask
// create provider through infura
const provider = new Web3.providers.HttpProvider(
// pass url of remote node
'https://rinkeby.infura.io/v3/censored'
);
web3 = new Web3(provider);
}
export default web3;
Olivers de Abreu
GrandFleet
Julian
Micky Socaci