我想从浏览器本身调用合同,因此我使用了Metamask,它可以无缝运行,但是由于Metamask无法在手机中使用,所以我不想使用Metamask
我已经使用了metamask,它有效 我在后端使用了trufflehdwallet,它有效 我用过testrpc网络,它也可以工作
if (window.ethereum) {
window.web3 = new Web3(ethereum);
try {
// Request account access if needed
await ethereum.enable();
web3.eth.getAccounts(function (err, accounts) {
if (!err) {
get_contract();
}
})
} catch (error) {
// User denied account access...
}
}
// Legacy dapp browsers...
else if (window.web3) {
window.web3 = new Web3(web3.currentProvider);
web3.eth.getAccounts(function (err, accounts) {
if (!err) {
get_contract();
}
})
}
// Non-dapp browsers...
else {
console.log('Non-Ethereum browser detected. You should consider installing MetaMask !');
}
我想要这样的东西
web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/24b7104373aa4038a2d0b64d9d60bd85"));
答案 0 :(得分:1)
我认为您的问题实际上与标题不同。 根据您的问题,我了解到您想在智能手机上使用网络dapp。
好吧,如果这是问题,那么我有几个选择。首先,如果您使用的是主网,则有一些移动应用程序,例如GnosisSafe或TrustWallet。如果您使用的是测试网,则有一个名为Portis的新钱包,可用于连接公共测试网。老实说,我不建议您测试本地网络,因为它是一个Web dapp,您可以在笔记本电脑上使用metamask进行测试。
因此,我的最终提示是web3connect。这使用户可以选择他的钱包。