红包的收发方法、装置、电子设备及存储介质与流程

未命名 07-22 阅读:128 评论:0


1.本技术属于信息技术领域,尤其涉及一种红包的收发方法、装置、电子设备及存储介质。


背景技术:

2.赠送红包这一习俗在中国有悠久的历史,人们通过赠送红包礼尚往来,和睦了家庭,增进了感情。但是,由于传统红包都是将使用纸质红包包裹着一定数额的钱,封装纸质红包需要额外的劳动,特别是红包数量较多时,劳动强度大,封装和拆封红包都需要耗费太多的时间,而且需要大量的现金,这样增加了遗失的风险和携带的不方便性。现在人们普遍使用支付软件提供的电子红包服务,同样也可以在区块链服务中实现。
3.区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在区块链上发布红包并且让用户调用,可以实现红包的申领的可信可查。然而,现有的去中心化企业的红包应用,将一个红包分发给不同的领取者时,需要给每个领取者分配不同的领取码,容易造成红包分发的混淆,也无法对红包的领取信息进行统一管理。


技术实现要素:

4.本技术实施例提供了一种红包的收发方法、装置、电子设备及存储介质,可以解决容易造成红包分发混淆的问题。
5.第一方面,本技术实施例提供了一种红包的收发方法,所述方法应用于第一节点,所述第一节点为区块链网络的任意一个节点,包括:
6.获取红包属性值生成目标红包的红包信息;
7.根据所述目标红包的创建信息生成所述目标红包的红包id,所述红包id唯一标识所述目标红包;
8.在智能合约中,以所述红包id为键存储所述红包信息,所述智能合约存储于所述第一节点;
9.根据用户输入的创建红包指令调用所述智能合约创建红包,并在红包创建成功后,发送所述智能合约的红包创建成功事件至所述区块链网络,所述红包创建成功事件携带所述红包id。
10.可选的,在所述调用所述智能合约创建红包,并在红包创建成功后,发送所述智能合约的红包创建成功事件至所述区块链网络之后,还包括:
11.获取所述红包创建成功事件中携带的红包id,以由用户根据所述红包id在所述区块链网络调用所述智能合约领取红包。
12.可选的,所述创建信息包括:红包创建者地址、红包创建时间以及智能合约创建时刻生成的随机值,或者,所述创建信息包括所述红包创建者地址和所述红包创建时间,或者,所述创建信息包括所述红包创建者地址和所述智能合约创建时刻生成的随机值;
13.所述红包属性包括:红包数量、是否是随机红包、红包有效时间、红包币种地址、红包币种类型以及红包总金额。
14.可选的,在所述以由用户根据所述红包id在所述区块链网络调用所述智能合约领取红包之后,还包括:
15.以所述红包id为键存储所述目标红包的领取者地址、领取到的金额,领取到的红包币种至所述红包信息中。
16.可选的,在所述以所述红包id为键存储所述目标红包的领取者地址、领取到的金额,领取到的红包币种至所述红包信息中之后,还包括:
17.获取用户输入的查看红包指令,根据所述红包id显示所述目标红包的红包信息。
18.可选的,在所述发送所述智能合约的红包创建成功事件至区块链网络之后,或者,在所述以由用户根据所述红包id在所述区块链网络调用所述智能合约领取红包之后,还包括:
19.获取用户输入的停止申领红包指令,根据所述红包id停止红包的申领。
20.第二方面,本技术实施例提供了一种红包的领取方法,所述方法应用于第二节点,所述第二节点为区块链网络的任意一个节点,包括:
21.获取红包创建成功事件中携带的红包id,以由用户根据所述红包id在所述区块链网络调用智能合约领取红包,其中,所述红包id根据目标红包的创建信息生成,所述红包id唯一标识所述目标红包。
22.第三方面,本技术实施例提供了一种红包的收发装置,所述装置内置于第一节点中,所述第一节点为区块链网络的任意一个节点,包括:
23.第一生成模块,用于获取红包属性值生成目标红包的红包信息;
24.第二生成模块,用于根据所述目标红包的创建信息生成所述目标红包的红包id,所述红包id唯一标识所述目标红包;
25.第一存储模块,用于在智能合约中,以所述红包id为键存储所述红包信息,所述智能合约存储于所述第一节点;
26.红包创建模块,用于根据用户输入的创建红包指令调用所述智能合约创建红包,并在红包创建成功后,发送所述智能合约的红包创建成功事件至所述区块链网络,所述红包创建成功事件携带所述红包id。
27.可选的,所述红包的收发装置,还包括:
28.红包领取模块,用于获取所述红包创建成功事件中携带的红包id,以由用户根据所述红包id在所述区块链网络调用所述智能合约领取红包。
29.可选的,所述创建信息包括:红包创建者地址、红包创建时间以及智能合约创建时刻生成的随机值,或者,所述创建信息包括所述红包创建者地址和所述红包创建时间,或者,所述创建信息包括所述红包创建者地址和所述智能合约创建时刻生成的随机值;
30.所述红包属性包括:红包数量、是否是随机红包、红包有效时间、红包币种地址、红包币种类型以及红包总金额。
31.可选的,所述红包的收发装置,还包括:
32.第二存储模块,用于以所述红包id为键存储所述目标红包的领取者地址、领取到的金额,领取到的红包币种至所述红包信息中。
33.可选的,所述红包的收发装置,还包括:
34.红包查看模块,用于获取用户输入的查看红包指令,根据所述红包id显示所述目标红包的红包信息。
35.可选的,所述红包的收发装置,还包括:
36.停止申领模块,用于获取用户输入的停止申领红包指令,根据所述红包id停止红包的申领。
37.第四方面,本技术实施例提供了一种电子设备,包括:
38.存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面所述的红包的收发方法的步骤。
39.第五方面,本技术实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的红包的收发方法的步骤。
40.第六方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面所述的红包的收发方法的步骤。
41.本技术实施例与现有技术相比存在的有益效果是:创建目标红包时,先根据属性信息生成红包信息,再根据创建信息生成红包id,然后在智能合约中,以该红包id为键存储该红包信息,最后将包括该红包id的该智能合约的红包创建成功事件发送到区块链网络。由于红包id可以唯一标识目标红包,且由于在智能合约中,以该红包id为键存储该红包信息,因此,通过该红包id可以获取到红包信息。即,通过一个红包id即可实现对红包信息的统一管理,从而可以避免一个红包分发给多个不同的红包领取者时,需要为多个不同的红包领取者分配多个不同的领取码,进而可以解决容易造成分发红包混淆的问题。
附图说明
42.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
43.图1是本技术一实施例提供的红包的收发方法的流程示意图;
44.图2是本技术实施例提供的红包的收发装置的结构示意图;
45.图3是本技术实施例提供的电子设备的结构示意图。
具体实施方式
46.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
47.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、
步骤、操作、元素、组件和/或其集合的存在或添加。
48.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
49.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0050]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0051]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0052]
在创建红包时,若根据领取者领取的红包来源,红包金额,币种类型等红包信息来为领取者分配不同的领取码,则后续的领取过程中,领取者只能领取与分配给自己的领取码相同的红包。当领取者比较多时,领取码繁多,不利于管理,容易造成分发红包混淆。
[0053]
本技术实施例,创建目标红包时,先根据属性信息生成红包信息,再根据创建信息生成红包id,然后以该红包id为键存储上述红包信息,最后将包括该红包id的红包创建成功事件发送到区块链网络,其中,该红包id可以唯一标识目标红包,且通过该红包id可以获取到红包信息,实现了通过一个红包id统一管理红包信息。
[0054]
图1示出了本技术实施例提供的红包的收发方法的流程示意图,可应用于第一节点,该第一节点为区块链网络的任意一个节点,该节点可以是主机,该方法包括步骤s110至s140。各个步骤的具体实现原理如下:
[0055]
s110,获取红包属性值生成目标红包的红包信息。
[0056]
其中,红包属性值可以由红包创建者输入得到,也可以由第一节点自动生成,在此不再赘述。
[0057]
在一些实施例中,智能合约中包括创建红包函数。当红包属性值由红包创建者输入得到时,红包创建者在红包创建界面输入红包属性值,并点击确定后,第一节点可以调用智能合约中的创建红包函数,即create_red_packet函数,由create_red_packet函数根据红包创建者输入的属性信息值生成目标红包的红包信息。其中,智能合约存储于区块链网络的所有节点中,该智能合约可以自动以规定的方式在区块链网络中的每个节点上独立和自动地执行,完成区块链网络内数据的存储或是某些状态的变化以及账本余额的变化等功能。
[0058]
其中,红包属性值是红包创建者在与红包属性对应的编辑框中输入的值,红包属性可以包括以下至少一项:红包数量、是否是随机红包、红包有效时间、红包币种类型以及红包总金额。
[0059]
可选的,红包属性还可以包括:红包message和/或红包title。其中,红包message
是指红包创建时,第一节点向区块链网络发送红包创建成功事件时包含的信息;红包title是指红包创建时,第一节点向区块链网络发送红包创建成功事件时红包命名的信息。
[0060]
其中,红包属性的各项分别与create_red_packet函数中的各个参数一一对应,红包属性值必须符合create_red_packet函数中各个参数的要求。比如,红包属性值中,红包币种类型的值为0,红包总金额的值为255时,可以获取红包创建者的原生币账户余额,判断红包创建者的账户中是否有足够多的原生币能够存放到红包中,如果有足够多的原生币,则红包币种类型的值以及红包总金额的值符合create_red_packet函数中参数uint_token_type和uint_total_tokens的要求。
[0061]
具体地,function create_red_packet(uint_number,bool_ifrandom,uint_duration,string memory_message,string memory_name,uint_token_type,address_token_addr,uint_total_tokens)函数中各个参数的要求详见表1。
[0062][0063]
表1
[0064]
其中,目标红包的红包信息可以存储在结构体packed中,在packed中可以通过256位字符串存储红包信息,packed的结构如下:
[0065][0066]
s120,根据上述目标红包的创建信息生成上述目标红包的红包id,上述红包id唯一标识上述目标红包。
[0067]
在一些实施例中,创建目标红包时,第一节点可以根据目标红包的创建信息生成目标红包的红包id,该红包id可以唯一标识上述目标红包。
[0068]
其中,该创建信息可以包括红包创建者地址、红包创建时间和以及智能合约创建
时刻生成的随机值。或者,该创建信息包括红包创建者地址和红包创建时间,或者,该创建信息包括红包创建者地址和智能合约创建时刻生成的随机值。由该创建信息生成的目标红包的红包id,可以唯一标识目标红包是由同一创建人,在同一时刻创建的。
[0069]
可选的,该创建信息还可以包括智能合约累积创建红包的次数,以使该创建信息更能唯一标识目标红包。
[0070]
通过创建信息生成的红包id可以唯一标识一个红包。该红包id可以是一个固定长度的字符串,以便于后续将该红包id做成二维码,该固定长度可以为256位,在此不做限制。
[0071]
可选的,获取到目标红包的创建信息后,可以对该创建信息进行加密处理,根据加密处理结果生成红包id。具体的,该加密算法可以是keccak256,也可以是其他加密算法,在此不做限制。
[0072]
可选的,上述智能合约创建时刻生成的随机值可以是加密后的数值,即采用加密算法对随机值进行加密后得到的随机值。
[0073]
s130,在智能合约中,以上述红包id为键存储上述红包信息,上述智能合约存储于上述第一节点。
[0074]
在一些实施例中,第一节点可以在其存储的智能合约中以步骤s120生成的红包id为键存储步骤s110生成的红包信息,实现通过一个红包id统一管理红包信息。
[0075]
s140,根据用户输入的创建红包指令调用上述智能合约创建红包,并在红包创建成功后,发送上述智能合约的红包创建成功事件至上述区块链网络,上述红包创建成功事件携带上述红包id。
[0076]
在一些实施例中,智能合约中还包括红包创建成功事件。第一节点接收到用户输入的创建红包指令后,可以调用智能合约的create_red_packet函数创建红包,并在红包创建成功后,发送该智能合约的红包创建成功事件,即creationsuccess事件至区块链网络。
[0077]
其中,creationsuccess事件携带的信息包括红包id,通过该红包id,红包领取者可以进行红包的领取。
[0078]
可选的,creationsuccess事件携带的信息还可以包括红包总金额、红包title、红包附带的message、红包创建者、红包创建时间、红包币种地址、红包数量、是否是随机红包、红包有效时间以及红包币种类型中的一种或者多种,根据实际需要可以进行设置。
[0079]
应理解,上述步骤s110至s140,创建目标红包时,先根据属性信息生成红包信息,再根据创建信息生成红包id,然后在智能合约中,以该红包id为键存储该红包信息,最后将上述智能合约的携带该红包id的红包创建成功事件发送到区块链网络。由于红包id可以唯一标识目标红包,且由于在智能合约中,以该红包id为键存储该红包信息,因此,通过该红包id可以获取到红包信息。即,通过一个红包id即可实现对红包信息的统一管理,从而可以避免一个红包分发给多个不同的红包领取者时,需要为多个不同的红包领取者分配多个不同的领取码,进而可以解决容易造成分发红包混淆的问题。
[0080]
在一些实施例中,在上述图1所示的红包的收发方法的实施例的基础上,在步骤s140调用上述智能合约创建红包,并在红包创建成功后,发送上述智能合约的红包创建成功事件至上述区块链网络,上述红包创建成功事件携带上述红包id之后,还可以实现以下步骤:
[0081]
s150,获取上述红包创建成功事件中携带的红包id,以由用户根据上述红包id在
上述区块链网络调用上述智能合约领取红包。
[0082]
在一些实施例中,由于在智能合约中,以红包id为键存储有红包信息,因此,获取到红包id后,即可获取到对应的红包信息。所以,红包领取过程中,只需要红包id,而不需要红包金额等其他红包信息。
[0083]
具体的,智能合约中还包括领取红包函数。红包创建者可以将自己的区块链账户链接到上述区块链网络的区块链上,通过上述区块链调用智能合约的领取红包函数,即claim函数,由claim函数根据红包id、红包的回执以及红包的检验参数进行红包的领取。
[0084]
应理解,上述步骤s150,由于红包创建者创建目标红包时,以目标红包的红包id为键存储有目标红包的红包信息,因此,领取红包时,红包创建者可以通过该红包id进行红包的领取。领取红包时,只需要红包id,而不需要其他的红包信息,更加简洁、方便。
[0085]
在一些实施例中,在上述图1所示的红包的收发方法的实施例的基础上,在步骤s150获取上述红包创建成功事件中携带的红包id,以由用户根据上述红包id在上述区块链网络调用上述智能合约领取红包之后,还可以实现以下步骤:
[0086]
步骤1、以上述红包id为键存储红包领取者地址、领取到的金额以及领取到的红包币种至上述红包信息中。
[0087]
在一些实施例中,智能合约中还包括成功领取红包事件。红包被用户领取后,第一节点可以发送智能合约的成功领取红包事件,即claimsuccess事件至区块链网络。该claimsuccess事件中携带目标红包的领取信息,比如红包id、红包领取者地址、领取到的金额以及领取到的红包币种,其中,可以以红包id为键存储这些领取信息。
[0088]
在一些实施例中,在上述图1所示的红包的收发方法的实施例的基础上,在步骤1以上述红包id为键存储红包领取者地址、领取到的金额以及领取到的红包币种至上述红包信息中之后,还可以实现以下步骤:
[0089]
步骤2、获取用户输入的查看红包指令,根据上述红包id显示目标红包的红包信息。
[0090]
在一些实施例中,智能合约中还包括查看红包函数。目标红包的红包创建者和目标红包的红包领取者均可以输入查看红包指令,第一节点获取到该查看红包指令后,可以调用智能合约的查看红包函数,即check_availability函数,由check_availability函数根据目标红包的红包id获取目标红包的红包信息并显示给用户。其中,红包领取者也可以是红包创建者。
[0091]
具体的,可以显示的红包信息可以包括以下至少一种:红包领取者地址、领取到的金额、领取到的红包币种地址、红包的剩余价格、红包总量和已经领取的红包数量。
[0092]
应理解,上述步骤1和2,用户可以通过目标红包的红包id查看目标红包的当前红包信息,该当前红包信息可以是红包被领取后的信息。
[0093]
在一些实施例中,在上述图1所示的红包的收发方法的实施例的基础上,在步骤s140调用上述智能合约创建红包,并在红包创建成功后,发送上述智能合约的红包创建成功事件至区块链网络之后,或者,在步骤s150获取上述红包创建成功事件中携带的红包id,以由用户根据上述红包id在上述区块链网络调用上述智能合约领取红包之后,还可以包括下述步骤:
[0094]
步骤3、获取用户输入的停止申领红包指令,根据上述红包id停止红包的申领。
[0095]
在一些实施例中,智能合约中还包括停止申领红包函数。目标红包的红包创建者可以通过第一节点调用停止申领红包函数,即refund函数,由refund函数根据目标红包的红包id停止红包的申领。
[0096]
具体地,接收到红包创建者输入的停止申领红包指令之后,第一节点可以调用智能合约的refund函数,由refund函数先根据目标红包的红包id得到目标红包的红包信息,再通过修改红包信息中的有效时间来停止红包的申领,比如,修改红包有效时间为0,则目标红包立刻失效,红包领取者无法再申领红包。当成功停止申领目标红包后,第一节点可以发送智能合约的成功停止申领红包事件,即refundsuccess事件至区块链网络,并将对应币种类型的可返回金额退回至红包创建者的账户地址中。其中,refundsuccess事件中携带红包id、红包币种类型和可退回金额。
[0097]
应理解,上述步骤3,红包创建者可以主动收回红包的余额。
[0098]
在一些实施例中,智能合约中包括转移创建人身份函数,即update_signer函数。如果红包创建者需要,第一节点也可以调用该update_signer函数将红包创建者身份转移给别的用户,从而别的用户即可参与后续的红包领取或者红包回收等操作。
[0099]
具体的,获取到红包创建者输入的转移身份的指令后,第一节点可以调用智能合约中的update_signer函数,将update_signer函数中的红包创建者地址修改为新的用户地址,该新的用户地址对应的用户即为新的红包创建者,实现了红包创建者身份的转移。
[0100]
在一些实施例中,在上述图1所示的红包的收发方法的实施例的基础上,还可以提供一种红包的领取方法,该方法可以应用于第二节点,该第二节点为区块链网络的任意一个节点,该节点可以是主机,该方法包括:
[0101]
步骤s210,获取红包创建成功事件中携带的红包id,以由用户根据上述红包id在上述区块链网络调用智能合约领取红包,其中,上述红包id根据目标红包的创建信息生成,上述红包id唯一标识上述目标红包。
[0102]
其中,红包领取者可以是红包创建者,也可以是红包创建者以外的任意一个红包领取者,在此不做限制。
[0103]
其中,第二节点可以是与第一节点相同的一个节点,也可以是与第一节点不同的一个节点,在此不作限制。
[0104]
应理解,上述步骤s210,对应于上述步骤s110至s140,实现了红包领取者和红包创建者共享同一个红包id。领取红包时,只需要红包id,而不需要其他的红包信息,更加简洁、方便。
[0105]
对应于上述图1所示的红包的收发方法,图2示出的是本技术实施例提供的一种红包的收发装置m100,该红包的收发装置m100可内置于第一节点中,该第一节点为区块链网络的任意一个节点,包括:
[0106]
第一生成模块m110,用于获取红包属性值生成目标红包的红包信息;
[0107]
第二生成模块m120,用于根据所述目标红包的创建信息生成所述目标红包的红包id,所述红包id唯一标识所述目标红包;
[0108]
第一存储模块m130,用于在智能合约中,以所述红包id为键存储所述红包信息,所述智能合约存储于所述第一节点;
[0109]
红包创建模块m140,用于调用所述智能合约创建红包,并在红包创建成功后,发送
所述智能合约的红包创建成功事件至所述区块链网络,所述红包创建成功事件携带所述红包id。
[0110]
可选的,所述红包的收发装置m100,还包括:
[0111]
红包领取模块,用于获取所述红包创建成功事件中携带的红包id,以由用户根据所述红包id在所述区块链网络调用所述智能合约领取红包。
[0112]
可选的,所述创建信息包括:红包创建者地址、红包创建时间以及智能合约创建时刻生成的随机值,或者,所述创建信息包括所述红包创建者地址和所述红包创建时间,或者,所述创建信息包括所述红包创建者地址和所述智能合约创建时刻生成的随机值;
[0113]
所述红包属性包括:红包数量、是否是随机红包、红包有效时间、红包币种地址、红包币种类型以及红包总金额。
[0114]
可选的,所述红包的收发装置m100,还包括:
[0115]
第二存储模块,用于以所述红包id为键存储所述目标红包的领取者地址、领取到的金额,领取到的红包币种至所述红包信息中。
[0116]
可选的,所述红包的收发装置m100,还包括:
[0117]
红包查看模块,用于获取用户输入的查看红包指令,根据所述红包id显示所述目标红包的红包信息。
[0118]
可选的,所述红包的收发装置m100,还包括:
[0119]
停止申领模块,用于获取用户输入的停止申领红包指令,根据所述红包id停止红包的申领。
[0120]
可以理解的是,以上实施例中的各种实施方式和实施方式组合及其有益效果同样适用于本实施例,这里不再赘述。
[0121]
图3为本技术一实施例提供的电子设备的结构示意图。如图3所示,该实施例的电子设备d10包括:至少一个处理器d100(图3中仅示出一个)处理器、存储器d101以及存储在所述存储器d101中并可在所述至少一个处理器d100上运行的计算机程序d102,所述处理器d100执行所述计算机程序d102时实现上述任意各个方法实施例中的步骤。或者,所述处理器d100执行所述计算机程序d102时实现上述各装置实施例中各模块/单元的功能,例如图2所示模块m110至m140的功能。
[0122]
在一些实施例中,所述处理器d100执行所述计算机程序d102时实现如下步骤:
[0123]
获取红包属性值生成目标红包的红包信息;
[0124]
根据所述目标红包的创建信息生成所述目标红包的红包id,所述红包id唯一标识所述目标红包;
[0125]
在智能合约中,以所述红包id为键存储所述红包信息,所述智能合约存储于所述第一节点;
[0126]
根据用户输入的创建红包指令调用所述智能合约创建红包,并在红包创建成功后,发送所述智能合约的红包创建成功事件至所述区块链网络,所述红包创建成功事件携带所述红包id。
[0127]
在一些实施例中,所述处理器d100执行所述计算机程序d102时,在执行所述调用所述智能合约创建红包,并在红包创建成功后,发送所述智能合约的红包创建成功事件至所述区块链网络之后,还可以执行以下步骤:
[0128]
获取所述红包创建成功事件中携带的红包id,以由用户根据所述红包id在所述区块链网络调用所述智能合约领取红包。
[0129]
在一些实施例中,所述处理器d100执行所述计算机程序d102时,所述创建信息包括:红包创建者地址、红包创建时间以及智能合约创建时刻生成的随机值,或者,所述创建信息包括所述红包创建者地址和所述红包创建时间,或者,所述创建信息包括所述红包创建者地址和所述智能合约创建时刻生成的随机值;
[0130]
所述红包属性包括:红包数量、是否是随机红包、红包有效时间、红包币种地址、红包币种类型以及红包总金额。
[0131]
在一些实施例中,所述处理器d100执行所述计算机程序d102时,在执行所述以由用户根据所述红包id在所述区块链网络调用所述智能合约领取红包之后,还可以执行下述步骤:
[0132]
以所述红包id为键存储所述目标红包的领取者地址、领取到的金额,领取到的红包币种至所述红包信息中。
[0133]
在一些实施例中,所述处理器d100执行所述计算机程序d102时,在执行所述以所述红包id为键存储所述目标红包的领取者地址、领取到的金额,领取到的红包币种至所述红包信息中之后,还可以执行下述步骤:
[0134]
获取用户输入的查看红包指令,根据所述红包id显示所述目标红包的红包信息。
[0135]
在一些实施例中,所述处理器d100执行所述计算机程序d102时,在执行所述发送所述智能合约的红包创建成功事件至区块链网络之后,或者,在执行所述以由用户根据所述红包id在所述区块链网络调用所述智能合约领取红包之后,还可以执行以下步骤:
[0136]
获取用户输入的停止申领红包指令,根据所述红包id停止红包的申领。
[0137]
所述电子设备d10可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该电子设备可包括,但不仅限于,处理器d100、存储器d101。本领域技术人员可以理解,图3仅仅是电子设备d10的举例,并不构成对电子设备d10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0138]
所称处理器d100可以是中央处理单元(central processing unit,cpu),该处理器d100还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0139]
所述存储器d101在一些实施例中可以是所述电子设备d10的内部存储单元,例如电子设备d10的硬盘或内存。所述存储器d101在另一些实施例中也可以是所述电子设备d10的外部存储设备,例如所述电子设备d10上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器d101还可以既包括所述电子设备d10的内部存储单元也包括外部存储设备。所述存储器d101用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器d101还可以用于暂时地存储已经输出或者
将要输出的数据。
[0140]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0141]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0142]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
[0143]
本技术实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时可实现上述各个方法实施例中的步骤。
[0144]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0145]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0146]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0147]
在本技术所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置
或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0148]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0149]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。

技术特征:
1.一种红包的收发方法,其特征在于,所述方法应用于第一节点,所述第一节点为区块链网络的任意一个节点,包括:获取红包属性值生成目标红包的红包信息;根据所述目标红包的创建信息生成所述目标红包的红包id,所述红包id唯一标识所述目标红包;在智能合约中,以所述红包id为键存储所述红包信息,所述智能合约存储于所述第一节点;根据用户输入的创建红包指令调用所述智能合约创建红包,并在红包创建成功后,发送所述智能合约的红包创建成功事件至所述区块链网络,所述红包创建成功事件携带所述红包id。2.如权利要求1所述的红包的收发方法,其特征在于,在所述根据用户输入的创建红包指令调用所述智能合约创建红包,并在红包创建成功后,发送所述智能合约的红包创建成功事件至所述区块链网络之后,还包括:获取所述红包创建成功事件中携带的红包id,以由用户根据所述红包id在所述区块链网络调用所述智能合约领取红包。3.如权利要求1所述的红包的收发方法,其特征在于,所述创建信息包括:红包创建者地址、红包创建时间以及智能合约创建时刻生成的随机值,或者,所述创建信息包括所述红包创建者地址和所述红包创建时间,或者,所述创建信息包括所述红包创建者地址和所述智能合约创建时刻生成的随机值;所述红包属性包括:红包数量、是否是随机红包、红包有效时间、红包币种地址、红包币种类型以及红包总金额。4.如权利要求2所述的红包的收发方法,其特征在于,在所述以由用户根据所述红包id在所述区块链网络调用所述智能合约领取红包之后,还包括:以所述红包id为键存储所述目标红包的领取者地址、领取到的金额,领取到的红包币种至所述红包信息中。5.如权利要求4所述的红包的收发方法,其特征在于,在所述以所述红包id为键存储所述目标红包的领取者地址、领取到的金额,领取到的红包币种至所述红包信息中之后,还包括:获取用户输入的查看红包指令,根据所述红包id显示所述目标红包的红包信息。6.如权利要求2所述的红包的收发方法,其特征在于,在所述发送所述智能合约的红包创建成功事件至区块链网络之后,或者,在所述以由用户根据所述红包id在所述区块链网络调用所述智能合约领取红包之后,还包括:获取用户输入的停止申领红包指令,根据所述红包id停止红包的申领。7.一种红包的领取方法,其特征在于,所述方法应用于第二节点,所述第二节点为区块链网络的任意一个节点,包括:获取红包创建成功事件中携带的红包id,以由用户根据所述红包id在所述区块链网络调用智能合约领取红包,其中,所述红包id根据目标红包的创建信息生成,所述红包id唯一标识所述目标红包。8.一种红包的收发装置,其特征在于,所述装置内置于第一节点中,所述第一节点为区
块链网络的任意一个节点,包括:第一生成模块,用于获取红包属性值生成目标红包的红包信息;第二生成模块,用于根据所述目标红包的创建信息生成所述目标红包的红包id,所述红包id唯一标识所述目标红包;第一存储模块,用于在智能合约中,以所述红包id为键存储所述红包信息,所述智能合约存储于所述第一节点;红包创建模块,用于根据用户输入的创建红包指令调用所述智能合约创建红包,并在红包创建成功后,发送所述智能合约的红包创建成功事件至所述区块链网络,所述红包创建成功事件携带所述红包id。9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并能够在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的红包的收发方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的红包的收发方法。

技术总结
本申请适用于信息技术领域,提供了一种红包的收发方法、装置、电子设备及存储介质,该方法应用于第一节点,包括:先根据属性信息生成红包信息,再根据创建信息生成红包ID,所述红包ID唯一标识所述目标红包,然后以该红包ID为键存储该红包信息,最后将包括该红包ID的红包创建成功事件发送到区块链网络。由于红包ID可以唯一标识目标红包,且由于在智能合约中以该红包ID为键存储该红包信息,因此,通过该红包ID可以获取到红包信息。即,通过一个红包ID即可实现对红包信息的统一管理,从而可以避免一个红包分发给多个不同的红包领取者时,需要为多个不同的红包领取者分配多个不同的领取码,进而可以解决容易造成分发红包混淆的问题。进而可以解决容易造成分发红包混淆的问题。进而可以解决容易造成分发红包混淆的问题。


技术研发人员:黄浦 郑婉腾
受保护的技术使用者:胖迪科技(深圳)有限公司
技术研发日:2022.12.29
技术公布日:2023/7/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐