Я использую 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){});
}
Это приводит меня прямо к метамаске.
Теперь я хочу развернуть сайт для школьного проекта и предоставить пользователям доступ к нему / использовать его, даже если у них нет метамаски, поэтому я хочу разблокировать учетную запись или отправить транзакцию прямо в мою метамаску, чтобы я мог одобрить это напрямую.
Я пробовал оба следующих кода, но они дали мне:
Неверный ответ 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 заменен закрытым ключом, полученным из метамаски
Спасибо. Я пытался решить это по крайней мере 5 часов. Я предполагаю, что не правильно внедряю в Ropsten и не получаю свой ключ API? Но это работает с метамаской ...