I want to know what provider the user is using (Metamaks, Mist…)so I can give better user experience. E.g. Give tips on how to unlock an account
I'm currently doing this, but is far from elegant. Is there a more correct/reliable way achieve the same?
getProviderName=()=>
{
let providerName = "UNKNOWN"
if(window.web3.currentProvider.constructor.name === "MetamaskInpageProvider")
providerName = "METAMASK"
else if(window.web3.currentProvider.constructor.name === "EthereumProvider")
providerName = "MIST"
else if(window.web3.currentProvider.constructor.name === "o")
providerName = "PARITY"
else if(window.web3.currentProvider.host.indexOf("infura")!==-1)
providerName = "INFURA"
else if(window.web3.currentProvider.host.indexOf("localhost")!==-1)
providerName ="LOCALHOST"
return providerName
}
Best Answer
This my current implementation: