如何在所有浏览器中连接智能合约?
How Can Connect Smart Contract In All Browsers?
我为 Ether 智能合约创建了前端网页。我之前使用过 Web3 库和 Meta Mask。现在我的网页是工作。但是,当我在主机上上传网站以供他人使用时,当我在其他系统和其他不支持 Used/Installed Meta Mask 扩展的浏览器中测试我的网页时,我遇到了错误。
请有人帮助我如何将网页连接到合同?
我之前使用此代码进行连接:
<script >
if (typeof window.ethereum !== 'undefined')
{
console.log('MetaMask is installed!');
}else{
console.log('MetaMask not installed!');
alert("Please install Metamsk wallet first, then try again");
}
const accounts = ethereum.request({ method: 'eth_requestAccounts' });
const account = accounts[0];
const showAccount = document.querySelector('.showAccount');
var contract;
const accounts = ethereum.request({ method: 'eth_requestAccounts' });
const account = accountsH[0];
const showAccount = document.querySelector('.showAccount');
web3 = new Web3(web3.currentProvider);
var address = "0x6246.../* My Contract Address */...5E7a";
var abi =[/* My ABI */];
contract = new web3.eth.Contract(abi, address);
</script>
并且有效。但在 Meta Mask 未激活或未安装的其他浏览器中,我看到错误。
我使用 Html 和 Java 脚本进行前端编程。
我找到了问题的答案。
我必须使用 infura
并首先在现场创建项目。并获取 ID
使用此代码
web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/3c6/*Your Own ID*/01753"));
我为 Ether 智能合约创建了前端网页。我之前使用过 Web3 库和 Meta Mask。现在我的网页是工作。但是,当我在主机上上传网站以供他人使用时,当我在其他系统和其他不支持 Used/Installed Meta Mask 扩展的浏览器中测试我的网页时,我遇到了错误。 请有人帮助我如何将网页连接到合同?
我之前使用此代码进行连接:
<script >
if (typeof window.ethereum !== 'undefined')
{
console.log('MetaMask is installed!');
}else{
console.log('MetaMask not installed!');
alert("Please install Metamsk wallet first, then try again");
}
const accounts = ethereum.request({ method: 'eth_requestAccounts' });
const account = accounts[0];
const showAccount = document.querySelector('.showAccount');
var contract;
const accounts = ethereum.request({ method: 'eth_requestAccounts' });
const account = accountsH[0];
const showAccount = document.querySelector('.showAccount');
web3 = new Web3(web3.currentProvider);
var address = "0x6246.../* My Contract Address */...5E7a";
var abi =[/* My ABI */];
contract = new web3.eth.Contract(abi, address);
</script>
并且有效。但在 Meta Mask 未激活或未安装的其他浏览器中,我看到错误。
我使用 Html 和 Java 脚本进行前端编程。
我找到了问题的答案。 我必须使用 infura
并首先在现场创建项目。并获取 ID
使用此代码
web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/3c6/*Your Own ID*/01753"));