长安链合约交易解析问题
【提议方】选填
组织/单位/公司/个人的名称/昵称
【需求分类】
- chainmaker-go 新特性
- bugfix
- 新项目
- 其他
其他:
【功能/项目名称】
具体的功能名称或者项目名称,方便以后交流。
区块合约交易解析问题
【开发周期】
人天
【适配版本】
拟适配/合入的chainmaker-go的版本,要求大版本向前兼容
【功能/项目描述】
具体所要实现的功能详细描述(需求说明、设计文档、如何实现、开发周期等)
需求说明
现在有两个合约如下图所示:
如图所示的两个合约,在调用合约方法,交易上链后,可以看到不同的合约在区块上的展现形式不一样:
合约1的方法名save 放在了param 里面以key-value 的形式存在;(transaction payload结构里面的method 字段为invoke_contract,而非合约的方法名save)
合约2的方法名则没有在param 里面以key-value 的形式存在。(transaction payload结构里面的method 字段为save)
不同的合约交易在区块上的展现结构不同,就会导致解析合约交易要按照不同的合约类型来解析,但是现在区块上没有合约类型这个字段,这个现象应该是不合理的。 能否统一不同的合约在区块上交易结构?或者能够在区块上区分不同的合约类型?
【考虑过的其他实现方案】
列举其他实现方案,并对比分析。
【预计影响范围】
描述该功能可能的影响范围,方便评估。若是新项目则可忽略
【系统信息】
拟支持的系统:要求Linux-x86、Linux-arm-86必须支持,其他信创、龙芯、麒麟、统信尽量支持
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information