web3.js - get current provider
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
}
// via https://ethereum.stackexchange.com/questions/24266/elegant-way-to-detect-current-provider-int-web3-js