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

Closed
Open
Opened Feb 14, 2022 by shi linlin@qian

【问题反馈】【evm】evm格式智能合约升级异常

【问题分类】

  • 长安链CMC工具
  • 长安链管理台

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

evm格式智能合约升级异常

通过对比[https://git.chainmaker.org.cn/chainmaker/chainmaker-go/-/blob/v2.1.0_alpha/tools/cmc/client/contract_user.go中的创建和更新,发现更新时,针对evm的bytecodes缺少了处理,`createUserContract`方法291行-311行,而更新方法`upgradeUserContract`则没有这部分处理。加入之后可以通过cmc工具更新合约,但是不知道长安链管理台那边如何感知到这块的更新

if runtimeType != "EVM" {
		if params != "" {
			kvsMap := make(map[string]string)
			err := json.Unmarshal([]byte(params), &kvsMap)
			if err != nil {
				return err
			}
			kvs = util.ConvertParameters(kvsMap)
		}
	} else {
		byteCode, err := ioutil.ReadFile(byteCodePath)
		if err != nil {
			return err
		}
		byteCodePath = string(byteCode)

		if !ethcmn.IsHexAddress(contractName) {
			contractName = util.CalcEvmContractName(contractName)
		}
		fmt.Printf("EVM contract name in hex: %s\n", contractName)
	}

【相关日志文件】(如果有报错日志请贴图,或者上传附件)

报错日志: 报错: 2022-02-14 18:39:44.983 [ERROR] [Vm] [33;1m@chain4[0m v2@v2.1.1/native.go:133 contract not exist 2022-02-14 18:39:44.985 [ERROR] [Core] [33;1m@chain4[0m scheduler/scheduler.go:294 failed to run vm for tx id:7459c51245b841039fe2a1bef705c97b7d357bbc44ba4e7cbc0695271ea4b6b4, tx result:code:CONTRACT_FAIL contract_result:<code:1 message:"contract not exist" > , error:contract not exist

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

  • chainmaker-go version:[v2.1.0]
  • macOS & version :11.6.1
  • 管理台 version:2.1.0
Edited Mar 15, 2022 by 凌风
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#8

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