reactjs - 从 chrome 扩展执行 web3 事务时出错
问题描述
我能够使用 chrome 扩展从块链中检索数据,但是从 chrome 扩展更新某些块时出现错误。
使用以下代码执行交易。
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);
}
});
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
我得到的错误:-
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
任何帮助都会是很大的帮助。
解决方案
你能试试这些:
- 尝试检查 testrpc 是否正在运行或已停止。
- 另外,您可以尝试使用http而不是https
其中之一可能会从我的经验中解决问题。第一个当然是用于运行 envt,如果是第二个,它有时不允许您连接到节点。
希望这可以帮助。祝你好运。
推荐阅读
- flutter - Image Picker 默认使用后置摄像头
- javascript - 无法读取数组的映射属性
- ruby-on-rails - 我正在尝试运行 Bundle Install,此错误消息是什么意思?
- python - 通过 Yagmail 使用域电子邮件
- javascript - 我正在尝试使用 require 来访问本地文件,但是如果我在路径中使用变量,它将不起作用
- python - 使用 Makefile 命令从 Docker 运行 Black 格式化程序
- python - 运行 python 文件什么都不做,甚至没有错误消息
- python - 如何使用 Pandas 获取特定行?
- html - CSS Grid 带来不必要的水平滚动条
- python - 从 pdf 中提取参考资料 - Python