Skip to content

GitLab

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

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

  • chainmaker
  • chainmaker-explorerchainmaker-explorer
  • Issues
  • #4

Closed
Open
Opened Jan 27, 2022 by 云 俞@646344359

交易详情支持展示参数值

在区块链浏览器里 image

这一部分没有展示参数的值,能否将结果解析后展示出来:

demo code:

	body, _ := config.GetFileBytes(config.Get().Node.UserConf.CertFile)
	_, addrInt, _, _ := MakeAddrAndSkiFromCrt(string(body))
	addr := evmutils.BigToAddress(addrInt)
	abiBytes, _ := config.GetFileBytes("xxx.abi")
	abiObj, _ := abi.JSON(strings.NewReader(string(abiBytes)))
        
        // 生成demo 参数数据
	calldata, _ := abiObj.Pack("mint", addr, uint64(12211119)) // 失败
	data := hex.EncodeToString(calldata) // 参数值,

        // 解析参数
	decodedSig, err := hex.DecodeString(data[0:8])
	if err != nil {
		log.Fatal(err)
	}
	// recover Method from signature and ABI
	method, err := abiObj.MethodById(decodedSig)
	if err != nil {
		log.Fatal(err)
	} else {
		log.Println(method.Name) // 方法名
	}
	decodedData, err := hex.DecodeString(data[8:])
	list, err := method.Inputs.Unpack(decodedData)
	if err != nil {
		log.Fatal(err)
	}
	log.Println(list) // 参数列表
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: chainmaker/chainmaker-explorer#4

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