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
  • #523

Closed
Open
Opened Feb 15, 2023 by zhiliang qin@qinzhiliang

合约并发调用问题

【问题分类】

  • [√] 智能合约相关

【问题描述】(请对问题进行描述,方便定位问题)

并发调用合约方法,实现Token转移和手续费扣除,仅当Token转移成功后,才允许扣除手续费。现在账户上有10个Token,第一次转移5个,第二次转移3个,最终结果为只转移成功了5个,第一笔交易有两个关于修改token数量的tx_writes,第二笔交易只有一个关于修改token的tx_writes,猜想是长安链的并行调度算法导致第二笔交易被视为无效了,但第二笔交易Token转移的手续费被扣除了。 求助:在Token转移不成功(交易被视为无效)的情况下,怎样防止继续扣除手续费?

第一笔交易的rwset_list image 第二笔交易的rwset_list image

【系统信息】(请填写系统信息,方便定位问题)

  • chainmaker-go version * : [v2.2.1]
  • **OS & version * :centos7
  • 单节点、PWK身份模式
  • 合约引擎:DOCKER_GO
Edited Feb 15, 2023 by zhiliang qin
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#523

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