weixin_46336631 2021-03-12 10:32 采纳率: 0%
浏览 29

在调用期间背书失败。response: status:500消息:无效调用函数名

有将节点名peer0和peer1修改为node1,node2,将组织名Org1,Org2修改为organization1和organization2,域名也修改了,在最初始的first-network里运行是没有问题的

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 03:03
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在调用invoke调用时出现 endorsement failure during invoke. response: status: 500 message: "Invalid invoke function name. Expecting \"delete\" "错误是因为调用函数名不符合预期的格式。通常,invoke命令需要一个格式化的参数列表,例如:

    const chaincodeName = 'your-chaincode-name';
    const functionName = 'invoke';
    
    // Define the expected arguments for your specific invocation function
    const expectedArgs = {
        // ... other required arguments ...
        functionName,
    };
    
    // Construct a payload object with the arguments
    const payload = JSON.stringify(expectedArgs);
    
    // Create a request object with the payload and the channel ID or endpoint of the target peer
    const request = {
        type: 'CREATE',
        method: 'POST',
        url: 'https://your-chaincode-service/api/v1/channel/' + channelId,
        data: payload,
        headers: {
            Authorization: `Bearer ${YOUR_API_TOKEN}`,
        },
    };
    
    // Send the request to the target peer via HTTP POST
    try {
        const response = await http.post(request);
        if (!response.ok) {
            throw new Error(`Invoke operation failed with error code: ${response.status}`);
        }
    
        console.log('Invoke operation successful');
    } catch (error) {
        console.error('Invoke operation failed:', error.message);
    }
    

    这段代码创建了一个包含channelNamefunctionNameexpectedArgs字典和YOUR_API_TOKEN的请求对象,并发送了一个POST到名为https://your-chaincode-service/api/v1/channel/${channelId}的接口,请求体包含了预期的调用参数。请注意,这里的API地址和凭证应根据你的实际链code服务进行替换。

    在这个例子中,由于期望的调用函数名是invoke,所以我们通过字符串'invoke'构建了请求,而不是直接从原始的invoke命令字符串获取名称。此外,我们在创建payload对象时使用了JSON.stringify方法,这确保了正确的结构化传递参数。

    最后,我们尝试发送HTTP POST请求,如果请求成功(返回状态码为2xx),则说明调用成功并打印出成功的消息;否则,我们将抛出错误并捕获和处理status字段的错误信息。

    请注意,你需要替换https://your-chaincode-service/api/v1/channel/${channelId}, YOUR_API_TOKEN,以及链code的服务端APIURL和身份验证凭据(Bearer)以适应你的实际情况。这个例子只是一个基本示例,实际使用时可能需要处理更多的错误情况和网络配置。

    评论

报告相同问题?

悬赏问题

  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的
  • ¥15 我看了您的文章,遇到了个问题。