会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 比特币地址 / 比特币钱包地址字符串的编码方法及地址编号表生成方法

比特币钱包地址字符串的编码方法及地址编号表生成方法

申请号 CN202010652302.2 申请日 2020-07-08 公开(公告)号 CN113919289A 公开(公告)日 2022-01-11
申请人 上海宽带技术及应用工程研究中心; 发明人 赵大鹏; 黄象贵; 宁岩;
摘要 本发明提供比特币钱包地址字符串的编码方法及地址编号表生成方法。比特币钱包地址字符串的编码方法包括:从若干比特币钱包地址字符串中选取不同长度的子串,统计每种长度下唯一子串的数量,据以计算每种长度下重复子串的重复概率;从各重复概率中选择一较低概率值,并将较低概率值所对应的子串选取长度确定为各比特币钱包地址字符串的截取长度;统一各比特币钱包地址字符串的开始截取位置,分别按截取长度截取出各比特币钱包地址字符串的子字符串;按照预设对应规则,将各子字符串的每位字符分别对应至各自的数字,并将每一子字符串的各个数字按照字符顺序排列。本发明的编码方法所生成的地址编号表相比于现有技术所占用的地址空间会大幅度减少。
权利要求

1.一种比特币钱包地址字符串的编码方法,其特征在于,包括:从若干比特币钱包地址字符串中选取不同长度的子串,统计每种长度下唯一子串的数量,据以计算每种长度下重复子串的重复概率;

从各所述重复概率中选择一较低概率值,并将所述较低概率值所对应的子串选取长度确定为各所述比特币钱包地址字符串的截取长度;

统一各所述比特币钱包地址字符串的开始截取位置,分别按所述截取长度截取出各所述比特币钱包地址字符串的子字符串;

按照预设对应规则,将各所述子字符串的每位字符分别对应至各自的数字,并将每一所述子字符串的各个数字按照字符顺序排列。

2.根据权利要求1所述的方法,其特征在于,所述预设对应规则为:所有构成所述比特币钱包地址字符串的数字、大写字母及小写字母分别与一预设数字唯一对应。

3.根据权利要求2所述的方法,其特征在于,所述预设数字为十进制数;所述方法还包括:

将各所述子字符串的每位字符分别对应至各自的十进制数;

将各所述十进制数分别转换为二进制数,并将每一所述子字符串的各个二进制数按照字符顺序排列。

4.一种比特币钱包地址编号表的生成方法,其特征在于,包括:从若干比特币钱包地址字符串中选取不同长度的子串,统计每种长度下唯一子串的数量,据以计算每种长度下重复子串的重复概率;

从各所述重复概率中选择一较低概率值,并将所述较低概率值所对应的子串选取长度确定为各所述比特币钱包地址字符串的截取长度;

统一各所述比特币钱包地址字符串的开始截取位置,分别按所述截取长度截取出各所述比特币钱包地址字符串的子字符串;

按照预设对应规则,将各所述子字符串的每位字符分别对应至各自的数字,并将每一所述子字符串的各个数字按照字符顺序排列;

用各所述子字符串的排列数字代表各比特币钱包地址,与各地址编号ID一一对应,从而生成所述比特币钱包地址编号表。

5.一种比特币钱包地址字符串的编码装置,其特征在于,包括:重复概率计算模块,用于从若干比特币钱包地址字符串中选取不同长度的子串,统计每种长度下唯一子串的数量,据以计算每种长度下重复子串的重复概率;

截取长度确定模块,用于从各所述重复概率中选择一较低概率值,并将所述较低概率值所对应的子串选取长度确定为各所述比特币钱包地址字符串的截取长度;

子字符串截取模块,用于统一各所述比特币钱包地址字符串的开始截取位置,分别按所述截取长度截取出各所述比特币钱包地址字符串的子字符串;

子字符串编码模块,用于按照预设对应规则,将各所述子字符串的每位字符分别对应至各自的数字,并将每一所述子字符串的各个数字按照字符顺序排列。

6.一种比特币钱包地址编号表的生成装置,其特征在于,包括:重复概率计算模块,用于从若干比特币钱包地址字符串中选取不同长度的子串,统计每种长度下唯一子串的数量,据以计算每种长度下重复子串的重复概率;

截取长度确定模块,用于从各所述重复概率中选择一较低概率值,并将所述较低概率值所对应的子串选取长度确定为各所述比特币钱包地址字符串的截取长度;

子字符串截取模块,用于统一各所述比特币钱包地址字符串的开始截取位置,分别按所述截取长度截取出各所述比特币钱包地址字符串的子字符串;

子字符串编码模块,用于按照预设对应规则,将各所述子字符串的每位字符分别对应至各自的数字,并将每一所述子字符串的各个数字按照字符顺序排列;

地址编号表创建模块,用于将各所述子字符串的排列数字代表各比特币钱包地址,与各地址编号ID一一对应,从而生成所述比特币钱包地址编号表。

7.一种计算机可读存储介质,其中存储有计算机程序,其特征在于,所述计算机程序被处理器加载执行时,实现如权利要求1至3中任一所述的比特币钱包地址字符串的编码方法。

8.一种计算机可读存储介质,其中存储有计算机程序,其特征在于,所述计算机程序被处理器加载执行时,实现如权利要求1所述的比特币钱包地址编号表的生成方法。

9.一种电子设备,其特征在于,包括:处理器及存储器;其中,所述存储器用于存储计算机程序;

所述处理器用于加载执行所述计算机程序,以使所述电子设备执行如权利要求1至3中任一所述的比特币钱包地址字符串的编码方法。

10.一种电子设备,其特征在于,包括:处理器及存储器;其中,所述存储器用于存储计算机程序;

所述处理器用于加载执行所述计算机程序,以使所述电子设备执行如权利要求1所述的比特币钱包地址编号表的生成方法。

说明书全文

比特币钱包地址字符串的编码方法及地址编号表生成方法

技术领域

[0001] 本发明涉及比特币编码技术领域,特别是涉及比特币钱包地址字符串的编码方法及地址编号表生成方法。

背景技术

[0002] 当前很多行业都对区块链进行了研究和应用,比特币作为经典的区块链电子加密货币,很多区块链相关领域都将比特币作为经典课题进行了深入研究,比特币钱包正是研
究过程中一个重点。
[0003] 每个比特币钱包有一个唯一的地址,由一串长度为34bytes的字符串组成,每个字符的范围为0~9,a~z,A~Z,该字符串唯一标识一个比特币钱包。由于计算机在处理大量
的钱包地址数据时,特别是查找、映射等操作时,处理数字远比处理字符串更高效,所以一
般都会把34bytes的地址字符串映射到一个数字id值,然后在计算机内存中生成一个地址
编号表供使用,如图1所示。在生成地址编号表的过程中,会涉及到对这34bytes的地址进行
编码,目前有记录的比特币钱包总量超过660,000,000,对这么多的字符串进行编号,工程
上主要的障碍是编码后的地址编号表在计算机中占用的内存的太大。
[0004] 目前,业内主要有两种字符串编码算法:哈希编码和霍夫曼编码。哈希编码使用广泛,编码方式为以某种算法对字符串中的字节逐个累加,得到一个数字编码。哈希编码是可
能重复的,即两个不同的字符串会有同样的编码。这时该编码下会链接一个数组,保存所有
编码等于该值的字符串。霍夫曼编码对字符串的每个字符设定二进制码,出现频率更高的
符号将获得更短的比特,出现频率更低的符号将被分配更长的比特,以此来提高数据压缩
率。
[0005] 然而,哈希编码和霍夫曼编码并没有很好地满足内存占用大小和编码查找速度的需求,并不适用于比特币地址分析场景,问题如下:
[0006] 哈希编码后,由于34bytes全部参与了编码过程且保存在编号表内,并且随着数据量的增加,重复码的情况会随之增加,造成编号表过于庞大,以java语言HashMapInteger>为例,全部地址编码完成后会占用约40GB的内存空间;
[0007] 霍夫曼编码虽提高了数据压缩率,但由于霍夫曼编码的原理使然,编码长度是不固定的,变长数据对于计算机来说处理不便,并不适合于比特币地址分析场景。

发明内容

[0008] 鉴于以上所述现有技术的缺点,本发明的目的在于提供比特币钱包地址字符串的编码方法及地址编号表生成方法,从而提出一种适用于比特币地址分析场景的编码技术。
[0009] 为实现上述目的及其他相关目的,本发明提供一种比特币钱包地址字符串的编码方法,包括:从若干比特币钱包地址字符串中选取不同长度的子串,统计每种长度下唯一子
串的数量,据以计算每种长度下重复子串的重复概率;从各所述重复概率中选择一较低概
率值,并将所述较低概率值所对应的子串选取长度确定为各所述比特币钱包地址字符串的
截取长度;统一各所述比特币钱包地址字符串的开始截取位置,分别按所述截取长度截取
出各所述比特币钱包地址字符串的子字符串;按照预设对应规则,将各所述子字符串的每
位字符分别对应至各自的数字,并将每一所述子字符串的各个数字按照字符顺序排列。
[0010] 于本发明一实施例中,所述预设对应规则为:所有构成所述比特币钱包地址字符串的数字、大写字母及小写字母分别与一预设数字唯一对应。
[0011] 于本发明一实施例中,所述预设数字为十进制数;所述方法还包括:将各所述子字符串的每位字符分别对应至各自的十进制数;将各所述十进制数分别转换为二进制数,并
将每一所述子字符串的各个二进制数按照字符顺序排列。
[0012] 为实现上述目的及其他相关目的,本发明提供一种比特币钱包地址编号表的生成方法,包括:从若干比特币钱包地址字符串中选取不同长度的子串,统计每种长度下唯一子
串的数量,据以计算每种长度下重复子串的重复概率;从各所述重复概率中选择一较低概
率值,并将所述较低概率值所对应的子串选取长度确定为各所述比特币钱包地址字符串的
截取长度;统一各所述比特币钱包地址字符串的开始截取位置,分别按所述截取长度截取
出各所述比特币钱包地址字符串的子字符串;按照预设对应规则,将各所述子字符串的每
位字符分别对应至各自的数字,并将每一所述子字符串的各个数字按照字符顺序排列;用
各所述子字符串的排列数字代表各比特币钱包地址,与各地址编号ID一一对应,从而生成
所述比特币钱包地址编号表。
[0013] 为实现上述目的及其他相关目的,本发明提供一种比特币钱包地址字符串的编码装置,包括:重复概率计算模块,用于从若干比特币钱包地址字符串中选取不同长度的子
串,统计每种长度下唯一子串的数量,据以计算每种长度下重复子串的重复概率;截取长度
确定模块,用于从各所述重复概率中选择一较低概率值,并将所述较低概率值所对应的子
串选取长度确定为各所述比特币钱包地址字符串的截取长度;子字符串截取模块,用于统
一各所述比特币钱包地址字符串的开始截取位置,分别按所述截取长度截取出各所述比特
币钱包地址字符串的子字符串;子字符串编码模块,用于按照预设对应规则,将各所述子字
符串的每位字符分别对应至各自的数字,并将每一所述子字符串的各个数字按照字符顺序
排列。
[0014] 为实现上述目的及其他相关目的,本发明提供一种比特币钱包地址编号表的生成装置,包括:重复概率计算模块,用于从若干比特币钱包地址字符串中选取不同长度的子
串,统计每种长度下唯一子串的数量,据以计算每种长度下重复子串的重复概率;截取长度
确定模块,用于从各所述重复概率中选择一较低概率值,并将所述较低概率值所对应的子
串选取长度确定为各所述比特币钱包地址字符串的截取长度;子字符串截取模块,用于统
一各所述比特币钱包地址字符串的开始截取位置,分别按所述截取长度截取出各所述比特
币钱包地址字符串的子字符串;子字符串编码模块,用于按照预设对应规则,将各所述子字
符串的每位字符分别对应至各自的数字,并将每一所述子字符串的各个数字按照字符顺序
排列;地址编号表创建模块,用于将各所述子字符串的排列数字代表各比特币钱包地址,与
各地址编号ID一一对应,从而生成所述比特币钱包地址编号表。
[0015] 为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序被处理器加载执行时,实现所述的比特币钱包地址字符
串的编码方法。
[0016] 为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序被处理器加载执行时,实现所述的比特币钱包地址编号
表的生成方法。
[0017] 为实现上述目的及其他相关目的,本发明提供一种电子设备,包括:处理器及存储器;其中,所述存储器用于存储计算机程序;所述处理器用于加载执行所述计算机程序,以
使所述电子设备执行所述的比特币钱包地址字符串的编码方法。
[0018] 为实现上述目的及其他相关目的,本发明提供一种电子设备,包括:处理器及存储器;其中,所述存储器用于存储计算机程序;所述处理器用于加载执行所述计算机程序,以
使所述电子设备执行所述的比特币钱包地址编号表的生成方法。
[0019] 如上所述,本发明的比特币钱包地址字符串的编码方法及地址编号表生成方法,从若干比特币钱包地址字符串中选取不同长度的子串,统计每种长度下唯一子串的数量,
据以计算每种长度下重复子串的重复概率;从各所述重复概率中选择一较低概率值,并将
所述较低概率值所对应的子串选取长度确定为各所述比特币钱包地址字符串的截取长度;
统一各所述比特币钱包地址字符串的开始截取位置,分别按所述截取长度截取出各所述比
特币钱包地址字符串的子字符串;按照预设对应规则,将各所述子字符串的每位字符分别
对应至各自的数字,并将每一所述子字符串的各个数字按照字符顺序排列;用各所述子字
符串的排列数字代表各比特币钱包地址,与各地址编号ID一一对应,从而生成所述比特币
钱包地址编号表。本发明的比特币钱包地址字符串的编码方法所生成的比特币钱包地址编
号表相比于现有技术所占用的地址空间会大幅度减少,从而节约计算机内存。

附图说明

[0020] 图1显示为现有技术中比特币钱包地址编号表的示意图。
[0021] 图2显示为本发明一实施例中的比特币钱包地址字符串的编码方法的流程示意图。
[0022] 图3显示为本发明一实施例中的重复概率随子串长度变化的趋势图。
[0023] 图4显示为采用传统方法和本发明的地址编号表生成方法生成地址编号表的内存占用对比图。
[0024] 图5显示为本发明一实施例中的比特币钱包地址字符串的编码装置的模块示意图。
[0025] 图6显示为本发明一实施例中的电子设备的结构示意图。

具体实施方式

[0026] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实
施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离
本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施
例中的特征可以相互组合。
[0027] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸
绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也
可能更为复杂。
[0028] 如图2所示,本实施例提供一种比特币钱包地址字符串的编码方法,包括如下步骤:
[0029] S21:从若干比特币钱包地址字符串中选取不同长度的子串,统计每种长度下唯一子串的数量,据以计算每种长度下重复子串的重复概率;
[0030] S22:从各所述重复概率中选择一较低概率值,并将所述较低概率值所对应的子串选取长度确定为各所述比特币钱包地址字符串的截取长度;
[0031] S23:统一各所述比特币钱包地址字符串的开始截取位置,分别按所述截取长度截取出各所述比特币钱包地址字符串的子字符串;
[0032] S24:按照预设对应规则,将各所述子字符串的每位字符分别对应至各自的数字,并将每一所述子字符串的各个数字按照字符顺序排列。
[0033] 在一实施例中,所述预设对应规则为:所有构成所述比特币钱包地址字符串的数字0~9、大写字母A~Z及小写字母a~z分别与一预设数字唯一对应,所述预设数字优选为
十进制数,当然也可采用二进制数、八进制数、十六进制数等。举例而言,数字0~9、大写字
母A~Z及小写字母a~z依次与十进制数0~61一一对应,具体的,数字0对应十进制数0、数
字1对应十进制数1,…,大写字母A对应十进制数字10,大写字母B对应十进制数字11,…,小
写字母a对应十进制数字36,大写字母b对应十进制数字37。
[0034] 需要说明的是,本发明不对数字、大写字母及小写字母的先后顺序加以限定,例如,本领域技术人员还可以将大写字母A~Z依次对应十进制数0~25,小写字母a~z依次对
应十进制数26~51,数字0~9依次对应十进制数52~61。
[0035] 优选的,在一实施例中,所述预设对应规则不包括对大写字母I和大写字母O对应转换,因为这两个大写字母容易与数字1和0产生混淆。如此,所述比特币钱包地址字符串所
能使用的字符为:0123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
(共60个),这60个字符与十进制数0~59的对应关系如下:
[0036] 表1
[0037] 字符 十进制数0 0
1 1
…… ……
9 9
A 10
B 11
…… ……
H 17
J 18
…… ……
N 22
P 23
…… ……
Z 33
a 34
b 35
…… ……
z 59
[0038] 承接上述,步骤S14先将各所述子字符串的每位字符分别对应至各自的十进制数,再将各所述十进制数分别转换为二进制数,并将每一所述子字符串的各个二进制数按照字
符顺序排列、合并,从而完成对比特币钱包地址字符串的编码。
[0039] 以下将通过具体示例详细阐述本方法的技术原理。
[0040] 目前有记录的比特币钱包总量超过660,000,000。从数量上看,660,000,000的地34
址数量是远小于34个字节字符串所蕴含的地址空间(62 )的,也就是说,比特币的钱包地址
在整个的钱包地址空间中相当稀疏。
[0041] 需要说明的是,比特币钱包地址的字符是随机组合,其子串并没有固定的模式。基于此,本示例用概率统计的方法,先对比特币钱包地址的字符组成进行多个维度的概率统
计。
[0042] 下面在每个34bytes地址的相同区域取得子串并统计重复的概率,鉴于地址字符是随机组合的,理论上这个区域可以做随意选取,这里选取从第10个byte开始的区域获取
子串,子串的长度每次递增1并统计子串重复的概率,得到如下统计结果(设比特币钱包地
址的总数为661,474,130个):
[0043] 表2
[0044]
[0045] 需要说明的是,以地址15wHpptF792fQrBTLeUMz5LavDtCaCmSqM为例,从第10个byte开始的区域获取子串,子串长度为2对应的子串为“92”,子串长度为3对应的子串为
“92f”,以此类推,子串长度为10对应的子串为“92fQrBTLeU”。
[0046] 为了便于观察,将表2绘制成如图3所示的重复概率随着子串长度变化的趋势图。从该趋势图中可以很清楚地看到,如果要选取一定长度的子串来代表的比特币钱包地址,
那么选取长度7是最合理的,其对应的重复概率较低(0.01868%),再增长子串的长度不仅
对重复概率也没有太大的影响,还会增加子串长度。
[0047] 在确定截取长度为7后,就可以对各比特币钱包地址字符串进行截取。于此,先定义两个参数:
[0048] 1、子串开始位置Substart:即从比特币钱包地址字符串的开始截取子串的位置。前述设定从第10个byte开始,即:Substart=10;
[0049] 2、子串长度Sublength,也即前述截取长度,于此,Sublength=7。
[0050] 以比特币钱包地址字符串15wHpptF792fQrBTLeUMz5LAvDtCaCmSqM为例,从Substart=10开始截取Sublength=7长度的子字符串为:92fQrBT。
[0051] 根据前述优选预设对应规则(即去除大写字母I和O的字符与十进制数的对应规则),将截取得到的子字符串的每一位对应至一十进制数,从而提高数据密度,具体如表3所
示:
[0052] 表3
[0053] 字符位 1 2 3 4 5 6 7字符 9 2 f Q r B T
对应的十进制数 9 2 39 24 51 11 27
[0054] 较佳的,由于每个字符编码范围是[0,59],可以放入6bit数据中,7个字符编码可以合并进一个42bit的整数中,从而提高编码的数据密度,具体如表4所示:
[0055] 表4
[0056]
[0057] 需要说明的是,本示例选择将截取的子字符串的每位字符转换为二进制编码,最终由二进制合并编码“001001000010100111011000110011001011011011”代表对应的比特
币钱包地址字符串。在实际应用中,本领域技术人员还可以选择八进制编码、十六进制编码
等,本发明对此不做限制。
[0058] 值得说明的是,承接前述,本示例截取长度Sublength为7,对应了较低的重复率(0.01868%),考虑到比特币钱包地址的总量为661,474,130个,那么可以计算出重复的子
串数量Subrepeat:
[0059] Subrepeat=661,474,130*0.01868%=123563
[0060] 即约有12.3万的重复子串,若沿用哈希表中对重复的编码的处理方式,使用数组结构,假设在这个数据结构中存储比特币钱包地址的完整串来消除重复,同时给每个地址
一个32bit(4byte)的编号一并存储,那么占用的内存约为
[0061] 123563*(34+4)=约为5MByte
[0062] 该内存大小对于整个地址对照表的存储容量来说是一个极小的值,在后面的计算中不再考虑在内。
[0063] 至此,本发明的比特币钱包地址字符串的编码方法对比特币钱包地址字符串的编码结束,把原来的34个字符长(272bit)的钱包地址编码进42bit数据中,根据计算机内存以
1byte(8bit)单位来保存,编码后的数据可保存至6个字节(48bit)的计算机内存中,数据量
压缩为原来的17.6%,信息密度大大提升。
[0064] 除此之外,本发明还提供一种比特币钱包地址编号表的生成方法,在前述比特币钱包地址字符串的编码方法的基础上,用各所述子字符串的排列数字代表各比特币钱包地
址,与各地址编号ID一一对应,从而生成所述比特币钱包地址编号表。
[0065] 较佳的,将前述比特币钱包地址字符串的编码方法得到的编码转换为十六进制,再与地址编号ID一一对应,举例而言,表5展示为现有技术中未使用本实施例的比特币钱包
地址编号表的生成方法的地址编号表,表6展示为采用本实施例的比特币钱包地址编号表
的生成方法所生成的地址编号表:
[0066] 表5
[0067]地址 地址编号id
15wHpptF792fQrBTLeUMz5LAvDtCaCmSqM 1
[0068] 表6
[0069]编码(16进制表示) 地址编号id
0x90a76332db 1
[0070] 如此,比特币钱包地址编号表只需要记录编码后的整数和对应的地址编号ID之间的映射关系,从而将占用的地址空间大幅减少。在Java语言中使用HashMapInteger>来重新生成地址编号表,这里要说明的是Java语言未提供48bit的整数类型,这里
使用64bit整数类型Integer64来保存编码,对应32bit的整数Integer保存编号,那么内存
占用为8.5GB,与原来的内存占用对比如图4所示,验证了本方法的有效性。
[0071] 实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。基于这样的理解,本发明还提供一种计算机程序产品,包括一个或多个计算机指令。所
述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机
能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据
存储设备。所述可用介质可以是磁性介质(如:软盘、硬盘、磁带)、光介质(如:DVD)、或者半
导体介质(如:固态硬盘Solid State Disk(SSD))等。
[0072] 参阅图5,本实施例提供一种比特币钱包地址字符串的编码装置,由于本实施例的技术原理与前述比特币钱包地址字符串的编码方法实施例的技术原理相似,因而不再对同
样的技术细节做重复性赘述。本实施例的比特币钱包地址字符串的编码装置包括如下模
块:
[0073] 重复概率计算模块,用于从若干比特币钱包地址字符串中选取不同长度的子串,统计每种长度下唯一子串的数量,据以计算每种长度下重复子串的重复概率;
[0074] 截取长度确定模块,用于从各所述重复概率中选择一较低概率值,并将所述较低概率值所对应的子串选取长度确定为各所述比特币钱包地址字符串的截取长度;
[0075] 子字符串截取模块,用于统一各所述比特币钱包地址字符串的开始截取位置,分别按所述截取长度截取出各所述比特币钱包地址字符串的子字符串;
[0076] 子字符串编码模块,用于按照预设对应规则,将各所述子字符串的每位字符分别对应至各自的数字,并将每一所述子字符串的各个数字按照字符顺序排列。
[0077] 除此之外,本发明还提供一种比特币钱包地址编号表的生成装置,在前述比特币钱包地址字符串的编码装置的基础上,还包括:地址编号表创建模块,用于将各所述子字符
串的排列数字代表各比特币钱包地址,与各地址编号ID一一对应,从而生成所述比特币钱
包地址编号表。
[0078] 本领域技术人员应当理解,图5实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上。且这些模块可以全部
以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通
过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。
[0079] 参阅图6,本实施例提供一种电子设备,电子设备可以是台式机、便携式电脑、智能手机等设备。详细的,电子设备至少包括通过总线连接的:存储器、处理器,其中,存储器用
于存储计算机程序,处理器用于执行存储器存储的计算机程序,以执行前述比特币钱包地
址字符串的编码方法实施例中的步骤,或者,以执行前述比特币钱包地址编号表的生成方
法实施例中的步骤。
[0080] 上述提到的系统总线可以是外设部件互连标准(Peripheral Pomponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard 
Architecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。
为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接
口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储
器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存
储器(non-volatile memory),例如至少一个磁盘存储器。
[0081] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器
(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific 
Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,
简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0082] 综上,本发明的比特币钱包地址字符串的编码方法及地址编号表生成方法,有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0083] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因
此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完
成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。