Skip to content

GitLab

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

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

  • chainmaker
  • issueissue
  • Issues
  • #1050

Closed
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" ]]

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

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: chainmaker/issue#1050

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