Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
management-backend
management-backend
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3
    • Issues 3
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar

新注册的用户请输入邮箱并保存,随后登录邮箱激活账号。后续可直接使用邮箱登录!

  • chainmaker
  • management-backendmanagement-backend
  • Issues
  • #10

Closed (moved)
Open
Opened Mar 20, 2024 by misty@mistyzyq

调用合约方法参数解析不能自动 trim 空格,文档示例合约调用失败

依照文档示例运行Fact合约,文档地址:https://docs.chainmaker.org.cn/instructions/%E9%83%A8%E7%BD%B2%E7%A4%BA%E4%BE%8B%E5%90%88%E7%BA%A6.html 通过管理台部署合约,依照文档描述填写合约参数:

方法名称 Method Param
存证方法 save file_hash, file_name, time
查询方法 find_by_file_hash file_hash

save方法参数之间包含空格,合约可以成功发布,但调用的时候报错:

parse tx[0f0c41cf5e5d44ef9c2002be6c045c42335d77e61647417ea71ff18bc51c14cf] contract[test_rust_fact_2_0_0] parameters error:expect key no special characters, but got key:[ file_name]. letter, number, dot and underline are allowed

chainmaker-management后台日志输出如下:

[DEBUG] [SDK] v3@v3.0.1/sdk_user_contract.go:170 [SDK] begin to INVOKE contract, [contractName:test_rust_fact_2_0_0]/[method:save]/[txId:0f0c41cf5e5d44ef9c2002be6c045c42335d77e61647417ea71ff18bc51c14cf]/[params:[key:"file_hash" value:"1534" key:" file_name" value:"13543" key:" time" value:"2024-03-20" ]]

从这里可以看出来,参数配置中的空格被带入了合约调用参数中,这在使用的时候极不方便,文档中也没有说明,而给的示例会导致出错,试运行第一个合约就浪费了很多时间,希望尽快修复

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: chainmaker/management-backend#10

Copyright © 2021 ChainMaker Org. All Rights Reserved. 长安链 版权所有。