System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 链上数字内容可配置接入方法及系统技术方案_技高网

链上数字内容可配置接入方法及系统技术方案

技术编号:41991216 阅读:17 留言:0更新日期:2024-07-12 12:18
本发明专利技术实施例公开了一种链上数字内容可配置接入方法及系统,其中,该方法包括:获取目标区块链的链名称及起始区块高度并监听出块高度,根据链名称与区块高度获取区块;解析区块中所有交易数据,分离出调用智能合约交易及部署智能合约交易;对调用智能合约交易与部署智能合约交易均提取合约的合约地址,根据合约地址与合约协议中特征方法判断合约是否为NFT智能合约;对于NFT智能合约所属的交易数据,根据交易数据对应回执信息的logs信息解析得到事件签名与参数;根据合约地址、合约协议及事件参数确定元数据地址,根据元数据地址得到资源文件及文件类型。提高了不同区块链数据解析的灵活性。

【技术实现步骤摘要】

本专利技术涉及区块链领域,尤其涉及一种链上数字内容可配置接入方法及系统


技术介绍

1、解析区块链系统中区块的数据,如区块中包含的nft合约部署、创建nft、转移nft数据,不同的区块链系统数据协议有所差别,常用的nft合约有erc-721与erc-1155,另外还有一些开发者自行开发的合约协议。不同的区块链系统数据格式会有不同,有的平台会有一些不同格式的数据,现有技术中难以灵活解析存在异构性的区块链及交易数据。

2、针对现有技术中的以上问题,目前还没有一个有效的解决方法。


技术实现思路

1、为解决上述问题,本专利技术提供一种链上数字内容可配置接入方法及系统,通过可配置化的方式接入区块链,识别出使用nft智能合约的交易,并对交易数据进行进一步的解析,得到所需的事件参数信息、资源文件信息、资源文件类型等,以解决现有技术中难以灵活解析存在异构性的区块链及交易数据的问题。

2、为达到上述目的,本专利技术提供了一种链上数字内容可配置接入方法,包括:获取目标区块链的链名称及起始区块高度并监听出实时区块高度,根据所述链名称与实时区块高度获取区块;解析区块中所有交易数据,分离出调用智能合约的交易及部署智能合约的交易;对所述调用智能合约的交易与部署智能合约的交易均提取合约的合约地址,根据所述合约地址与合约协议的特征信息判断合约是否为nft智能合约;对于nft智能合约所属的交易数据,根据交易数据对应回执信息的logs信息解析得到事件签名与事件参数;根据所述合约地址、合约协议及事件参数确定元数据地址,根据所述元数据地址得到资源文件及文件类型。

3、进一步可选的,所述对所述调用智能合约的交易与部署智能合约的交易均提取合约的合约地址,根据所述合约地址与合约协议的特征信息判断合约是否为nft智能合约,包括:对于所述调用智能合约的交易,提取交易中to字段的合约地址,判断该合约地址是否存在于预设地址库中,若是,则将调用的合约确定为nft智能合约;若否,则根据合约地址与合约协议的特征信息,将与nft智能合约协议一致的合约协议对应的合约确定为nft智能合约;对于所述部署智能合约的交易,提取交易回执信息中的合约地址,根据合约地址与合约协议的特征信息,将与nft智能合约协议一致的合约协议对应的合约确定为nft智能合约,并将合约地址存储在所述预设地址库中。

4、进一步可选的,所述获取目标区块链的链名称及起始区块高度并监听出实时区块高度,根据所述链名称与实时区块高度获取区块,包括:通过区块链节点网关调用目标区块链节点的rpc接口;根据所述起始区块高度,通过rpc命令确定并监听出实时区块高度;当实时区块高度满足预设条件时获取区块。

5、进一步可选的,所述根据所述元数据地址得到资源文件及文件类型,包括:根据对应元数据地址协议访问所述元数据地址得到元数据内容,解析元数据内容中的每个字段得到非同质化代币nft的描述、名称、类型及资源地址;根据对应资源地址协议访问资源地址,得到资源文件;解析资源文件的头信息得到资源文件的类型。

6、进一步可选的,所述根据交易数据对应回执信息的logs信息解析得到事件签名与事件参数,包括:解析所述logs信息中的智能合约事件;根据所述智能合约事件的事件签名确定智能合约事件的事件名称;根据所述事件名称确定事件参数。

7、另一方面,本专利技术还提供了一种链上数字内容可配置接入系统,包括:数据获取模块,用于获取目标区块链的链名称及起始区块高度并监听出实时区块高度,根据所述链名称与实时区块高度获取区块;交易分离模块,用于解析区块中所有交易数据,分离出调用智能合约交易及部署智能合约的交易;合约识别模块,用于对所述调用智能合约的交易与部署智能合约的交易均提取合约的合约地址,根据所述合约地址与合约协议的特征信息判断合约是否为nft智能合约;事件参数解析模块,用于对于nft智能合约所属的交易数据,根据交易数据对应回执信息的logs信息解析得到事件签名与事件参数;文件解析模块,用于根据所述合约地址、合约协议及事件参数确定元数据地址,根据所述元数据地址得到资源文件及文件类型。

8、进一步可选的,所述合约识别模块包括:第一合约识别子模块,用于对于所述调用智能合约的交易,提取交易中to字段的合约地址,判断该合约地址是否存在于预设地址库中,若是,则将调用的合约确定为nft智能合约;若否,则根据合约地址与合约协议的特征信息,将与nft智能合约协议一致的合约协议对应的合约确定为nft智能合约;第二合约识别子模块,用于对于所述部署智能合约的交易,提取交易回执信息中的合约地址,根据合约地址与合约协议的特征信息,将与nft智能合约协议一致的合约协议对应的合约确定为nft智能合约,并将合约地址存储在所述预设地址库中。

9、进一步可选的,所述数据获取模块包括:接口调用子模块,用于通过区块链节点网关调用目标区块链节点的rpc接口;监听子模块,用于根据所述起始区块高度,通过rpc命令确定并监听出实时区块高度;区块获取子模块,用于当实时区块高度满足预设条件时获取区块。

10、进一步可选的,所述文件解析模块包括:元数据内容解析子模块,用于根据对应元数据地址协议访问所述元数据地址得到元数据内容,解析元数据内容中的每个字段得到非同质化代币nft的描述、名称、类型及资源地址;资源文件获取子模块,用于根据对应资源地址协议访问资源地址,得到资源文件;文件类型确定子模块,用于解析资源文件的头信息得到资源文件的类型。

11、进一步可选的,所述事件参数解析模块包括:事件解析子模块,用于解析所述logs信息中的智能合约事件;事件名称确定子模块,用于根据所述智能合约事件的事件签名确定智能合约事件的事件名称;事件参数确定子模块,用于根据所述事件名称确定事件参数。

12、上述技术方案具有如下有益效果:通过对区块链协议、nft合约协议、元数据协议、资源文件协议的分析,对不同交易中的nft智能合约进行识别与解析,以保证不同类型的区块链及交易都能通过该方法进行数据解析,从而提高数据解析的灵活性。

本文档来自技高网...

【技术保护点】

1.一种链上数字内容可配置接入方法,其特征在于,包括:

2.根据权利要求1所述的链上数字内容可配置接入方法,其特征在于,所述对所述调用智能合约的交易与部署智能合约的交易均提取合约的合约地址,根据所述合约地址与合约协议的特征信息判断合约是否为NFT智能合约,包括:

3.根据权利要求1所述的链上数字内容可配置接入方法,其特征在于,所述获取目标区块链的链名称及起始区块高度并监听出实时区块高度,根据所述链名称与实时区块高度获取区块,包括:

4.根据权利要求1所述的链上数字内容可配置接入方法,其特征在于,所述根据所述元数据地址得到资源文件及文件类型,包括:

5.根据权利要求1所述的链上数字内容可配置接入方法,其特征在于,所述根据交易数据对应回执信息的logs信息解析得到事件签名与事件参数,包括:

6.一种链上数字内容可配置接入系统,其特征在于,包括:

7.根据权利要求6所述的链上数字内容可配置接入系统,其特征在于,所述合约识别模块包括:

8.根据权利要求6所述的链上数字内容可配置接入系统,其特征在于,所述数据获取模块包括:

9.根据权利要求6所述的链上数字内容可配置接入系统,其特征在于,所述文件解析模块包括:

10.根据权利要求6所述的链上数字内容可配置接入系统,其特征在于,所述事件参数解析模块包括:

...

【技术特征摘要】

1.一种链上数字内容可配置接入方法,其特征在于,包括:

2.根据权利要求1所述的链上数字内容可配置接入方法,其特征在于,所述对所述调用智能合约的交易与部署智能合约的交易均提取合约的合约地址,根据所述合约地址与合约协议的特征信息判断合约是否为nft智能合约,包括:

3.根据权利要求1所述的链上数字内容可配置接入方法,其特征在于,所述获取目标区块链的链名称及起始区块高度并监听出实时区块高度,根据所述链名称与实时区块高度获取区块,包括:

4.根据权利要求1所述的链上数字内容可配置接入方法,其特征在于,所述根据所述元数据地址得到资源文件及文件类型,包括:

5.根...

【专利技术属性】
技术研发人员:王共瑞王磊兰春嘉林乐孟青龙
申请(专利权)人:上海零数众合信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1