首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >web3.eth.Contract.methods.MyMethod.send()错误。帮帮我

web3.eth.Contract.methods.MyMethod.send()错误。帮帮我
EN

Stack Overflow用户
提问于 2022-08-28 14:02:59
回答 1查看 107关注 0票数 -1

我在使用"React“、"web3.js”和"web3-react“创建dApp时遇到了以下问题。

这是错误信息。

返回的错误:由于项目ID设置被拒绝

这是错误日志。

我不知道为什么会发生这个错误。即使我搜索了谷歌,也很难找到确切的答案.

我使用以下技术制作了它。

反应Js,Web3.js,Web3-反应,稳固,因弗拉

我的合同网址

0xa8a254fb5bB9DEd6de3e767b9A9A962bD98185

问题码.sol

代码语言:javascript
复制
struct SignBlock{
        uint no;
        string name;
        string date;
        string depart;
        string fileName;
        string filePath;
        address writerAddr;
    }
    SignBlock[] sb;
   
    uint no_cur = 0;
    
    function makeBlock(string memory name,string memory date,string memory depart,string memory fname, string memory fpath)  public {
        SignBlock memory tmp;
        tmp.no = no_cur++;
        tmp.name=name;
        tmp.date=date;
        tmp.depart = depart;
        tmp.fileName=fname;
        tmp.filePath=fpath;
        tmp.writerAddr=Owner;
        sb.push(tmp);
    }

问题代码./lib/myContract.js

代码语言:javascript
复制
import Web3 from "web3";
export const web3 = new Web3(
    new Web3.providers.WebsocketProvider(
        "wss://ropsten.infura.io/ws/v3/c1df0953ad0a489fb24ab898d60a57c8"
    )
);
export const CONTRACT_ADDRESS = "0xa8aa254fb5bB9DEd6de3e767b9A9Aa962bD98185";
export const ABI =[<My ABI>];
export const Mycontract = new web3.eth.Contract(ABI, CONTRACT_ADDRESS);

问题代码./lib/connectors.js

代码语言:javascript
复制
import { InjectedConnector } from "@web3-react/injected-connector";

export const injected = new InjectedConnector({
    supportedChainIds: [1, 3, 4, 5, 42],
});

问题码Signed.js

代码语言:javascript
复制
import React, { useState } from "react";
// Web3-react
import { useWeb3React } from "@web3-react/core";
import { Mycontract } from "../lib/mycontract";
function Signed() {
    const { account, active, deactivate } = useWeb3React();
let date = new Date();
    let now = date.toLocaleString();
    const [block_, setBlock] = useState({
        name: "",
        depart: "",
        time: "",
        fname: "",
        path: "",
    });
...
const makeSigned = () => {
       
        var s = `Block!\nname : ${block_.name}\ndepart : ${block_.depart}\ntime : ${block_.time}\nfname : ${block_.fname}\npath : ${block_.path}`;
        alert(s);
        document.getElementsByClassName("usr")[0].value = "";
        document.getElementsByClassName("dp")[0].value = "생산";
        document.getElementsByClassName("target_file")[0].value = "";
        document.getElementsByClassName("filepath")[0].value = "";
        Mycontract.methods
            .makeBlock(
                String(block_.name),
                String(block_.time),
                String(block_.depart),
                String(block_.fname),
                String(block_.path)
            )
            .send({ from: account, gas: 300000 });
    };

我的恩弗拉安全设置

我认为"send()"方法有问题,但我找不到解决方案。

EN

回答 1

Stack Overflow用户

发布于 2022-08-28 16:16:46

这个错误是因弗拉特有的。将合同地址从允许列表中删除:

那应该管用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73519338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档