[发明专利]一种代理合约调用的方法及相关设备有效
申请号: | 201910334886.6 | 申请日: | 2019-04-24 |
公开(公告)号: | CN110059125B | 公开(公告)日: | 2023-09-05 |
发明(设计)人: | 刘新;黑祥祚 | 申请(专利权)人: | 深圳市元征科技股份有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06Q20/38 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518000 广东省深圳市龙*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代理 合约 调用 方法 相关 设备 | ||
本申请实施例公开了一种代理合约调用的方法以及相关设备,用于实现准确地调用代理合约并实现调用需求想要完成的功能。本申请实施例方法包括:本实施例中,解析接收到的代理合约调用请求,以得到目标代理合约的地址以及需调用的函数的标识符,判断所述代理合约的地址是否存在于第一集合,若所述代理合约的地址存在于所述第一集合,则判断需调用的函数的标识符是否存在于第二集合,若所述需调用的函数的标识符存在于所述第二集合,则调用所述代理合约。其中,通过解析接收到的代理合约调用请求对应的代理合约的地址以及函数的标识符,判断出所述调用请求想要完成的具体操作,从而准确地调用代理合约并实现调用需求想要完成的功能。
技术领域
本申请涉及区块链领域,具体涉及一种代理合约调用的方法及相关设备。
背景技术
智能合约概念可以概括为:一段被部署在可以分享复制的账本上的代码,它可以维持自己的状态,控制自己的资产并且能够对接收到的外界信息或者资产进行回应,可以处理信息,接收、储存和发送价值。
智能合约升级,一般采用代理模式升级,用户通过调用代理合约,再由代理合约去调用逻辑合约实现相应功能,代理合约中需要有update或者add等这样的函数去管理自身、升级到新的逻辑合约等。随着之后升级越来越复杂,这类型函数可能会越来越多。这样就会导致,如果代理合约跟逻辑合约出现同名的函数,或者函数名不同,但是对应计算出来的标识符刚好相同,这种情况下,调用代理合约时,就无法区别是去调用代理合约还是希望代理合约去调用逻辑合约,会造成冲突。
申请内容
本申请实施例公开了一种代理合约调用的方法以及相关设备,用于实现准确地调用代理合约并实现调用需求想要完成的功能。
本申请第一方面提供了一种代理合约调用的方法,包括:
解析接收到的代理合约调用请求;
判断所述代理合约的地址是否存在于第一集合;
若所述代理合约的地址存在于所述第一集合,则判断需调用的函数的标识符是否存在于第二集合;
若所述需调用的函数的标识符存在于所述第二集合,则调用所述代理合约。
可选地,在所述解析接收到的代理合约调用请求之前,所述方法还包括:
建立第一集合,所述第一集合用于存储代理合约的管理者;
建立第二集合,所述第二集合用于存储所述代理合约的管理者对应的操作方法的标识符。
可选地,在所述建立第二集合后,所述方法还包括:
添加新的代理合约的管理者至所述第一集合;
添加对应所述新的代理合约的函数的标识符至所述第二集合。
可选地,若所述代理合约的地址不存在于所述第一集合,所述方法还包括:
解释所述代理合约调用请求的函数调用的标识符;
通过所述标识符调用对应逻辑合约。
可选地,若所述需调用的函数的标识符不存在于所述第二集合,所述方法还包括:
通过所述需调的函数的标识符调用对应逻辑合约。
本申请实施例第二方面提供了一种代理合约调用的系统,包括:
解析单元,用于解析接收到的代理合约调用请求;
判断单元,用于判断所述代理合约的地址是否存在于第一集合;
所述判断单元,还用于若所述代理合约的地址存在于所述第一集合,则判断需调用的函数的标识符是否存在于第二集合;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市元征科技股份有限公司,未经深圳市元征科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910334886.6/2.html,转载请声明来源钻瓜专利网。