合约并发调用问题
【问题分类】
- [√] 智能合约相关
【问题描述】(请对问题进行描述,方便定位问题)
并发调用合约方法,实现Token转移和手续费扣除,仅当Token转移成功后,才允许扣除手续费。现在账户上有10个Token,第一次转移5个,第二次转移3个,最终结果为只转移成功了5个,第一笔交易有两个关于修改token数量的tx_writes,第二笔交易只有一个关于修改token的tx_writes,猜想是长安链的并行调度算法导致第二笔交易被视为无效了,但第二笔交易Token转移的手续费被扣除了。 求助:在Token转移不成功(交易被视为无效)的情况下,怎样防止继续扣除手续费?
第一笔交易的rwset_list 第二笔交易的rwset_list
【系统信息】(请填写系统信息,方便定位问题)
- chainmaker-go version * : [v2.2.1]
- **OS & version * :centos7
- 单节点、PWK身份模式
- 合约引擎:DOCKER_GO
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information