简体   繁体   English

从Chrome扩展执行Web3事务时出错

[英]Getting error while performing web3 transaction from chrome extention

I am able to retrieve data from block-chain with chrome extension but error is coming when updating some block from chrome extension. 我能够从具有chrome扩展名的区块链中检索数据,但是从chrome扩展名更新某些区块时会出现错误。

using below code for performing transaction. 使用以下代码执行交易。

chrome.extension.onRequest.addListener(async function(request, sender, sendResponse) {
if (request.method === "getHTML") {
  console.log("Hello From react 2");
  console.log(request.data);
  const ads = await userAbi.methods.setSpecificUserClickStatistics(request.data).send({from: "some address"});
  console.log(ads);
}
});

Success output when run console.log(web3.currentProvider) connected with Web3. 当运行console.log(web3.currentProvider)与Web3连接时,成功输出。

   HttpProvider {host: "https://rinkeby.infura.io/<specific token>", timeout: 0, connected: false, headers: undefined}
connected:true
headers:undefined
host:"https://rinkeby.infura.io/<specific token>"
timeout:0
event.js:24170 Hello From react 2

Error which I am getting :- 我得到的错误:-

event.js:60196 POST https://rinkeby.infura.io/(specific token) 405 ()
HttpProvider.send @ event.js:60196
RequestManager.send @ event.js:50121
sendRequest @ event.js:8961
(anonymous) @ event.js:8978
sendTxCallback @ event.js:8885
(anonymous) @ event.js:50136
request.onreadystatechange @ event.js:60186
XMLHttpRequest.send (async)
HttpProvider.send @ event.js:60196
RequestManager.send @ event.js:50121
sendRequest @ event.js:8961
send @ event.js:8982
send @ event.js:8973
_executeMethod @ event.js:56098
(anonymous) @ event.js:24172
EventImpl.dispatchToListener @ extensions::event_bindings:403
publicClassPrototype.(anonymous function) @ extensions::utils:138
EventImpl.dispatch_ @ extensions::event_bindings:387
EventImpl.dispatch @ extensions::event_bindings:409
publicClassPrototype.(anonymous function) @ extensions::utils:138
messageListener @ extensions::messaging:240
EventImpl.dispatchToListener @ extensions::event_bindings:403
publicClassPrototype.(anonymous function) @ extensions::utils:138
EventImpl.dispatch_ @ extensions::event_bindings:387
EventImpl.dispatch @ extensions::event_bindings:409
publicClassPrototype.(anonymous function) @ extensions::utils:138
dispatchOnMessage @ extensions::messaging:392
event.js:49362 Uncaught (in promise) Error: Invalid JSON RPC response: ""
    at Object.InvalidResponse (event.js:49362)
    at XMLHttpRequest.request.onreadystatechange (event.js:60182)
InvalidResponse @ event.js:49362
request.onreadystatechange @ event.js:60182
async function (async)
(anonymous) @ event.js:24168
EventImpl.dispatchToListener @ extensions::event_bindings:403
publicClassPrototype.(anonymous function) @ extensions::utils:138
EventImpl.dispatch_ @ extensions::event_bindings:387
EventImpl.dispatch @ extensions::event_bindings:409
publicClassPrototype.(anonymous function) @ extensions::utils:138
messageListener @ extensions::messaging:240
EventImpl.dispatchToListener @ extensions::event_bindings:403
publicClassPrototype.(anonymous function) @ extensions::utils:138
EventImpl.dispatch_ @ extensions::event_bindings:387
EventImpl.dispatch @ extensions::event_bindings:409
publicClassPrototype.(anonymous function) @ extensions::utils:138
dispatchOnMessage @ extensions::messaging:392

Any help will be a great help. 任何帮助都会有很大帮助。

can you try these : 你可以试试这些吗:

  1. Try to check if testrpc is running or is it stopped. 尝试检查testrpc是否正在运行或已停止。
  2. Also, can you try to use http instead of https 另外,您可以尝试使用http而不是https

One of these might do the trick from my exp. 从我的经验中,其中之一可能会解决问题。 The first of course is for running the envt and in case of the second, it sometimes doesnt allow you to connect to the node. 第一个当然是用于运行envt的,而在第二个情况下,有时则不允许您连接到该节点。

Hope this helps. 希望这可以帮助。 Good luck. 祝好运。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM