我正在使用web3版本0.20.1(我一直在1.00中遇到错误) 我正在与
建立联系const web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io"))
尽管即使没有https://ropsten.infura.io
我通过以下方式连接到智能合约:
const myContract = window.web3.eth.contract(abi)
var contractInstance = myContract.at(address)
我跑步时
const scRent = (prop, company) => {
contractInstance.rentProperty(
prop.status, web3.fromAscii(prop.location), "0x79616e67", prop.price, prop.start, prop.end, web3.fromAscii(company),
{from: web3.eth.defaultAccount, gas: 3000000, value: 100}, function(err, res){});
}
这直接让我进入了metamask。
现在,我想为一个学校项目部署该站点,并允许用户即使没有Metamask也可以访问/使用它,因此我想解锁帐户或将交易直接发送到我的Metamask,以便我可以直接批准。
我尝试了以下两个代码,但它们给了我: 无效的JSON RPC响应。
//let account = web3.eth.accounts.privateKeyToAccount('0xmykey');
//web3.personal.unlockAccount(account.address, account.privateKey, 200)
//web3.eth.defaultAccount = '0xDde2198546C886707971D580eDB1FfA8bC949e57';
//web3.personal.unlockAccount("0xDde2198546C886707971D580eDB1FfA8bC949e57", "0xmykey", 600)
mykey替换为从metamask中获取的私钥
谢谢。我已经尝试解决了至少5个小时。我猜我没有正确部署到Ropsten并且没有得到我的API密钥?但这适用于metamask ...