CN111967862A - 基于区块链智能合约的数字货币共同支付方法及系统 - Google Patents
基于区块链智能合约的数字货币共同支付方法及系统 Download PDFInfo
- Publication number
- CN111967862A CN111967862A CN202010886633.2A CN202010886633A CN111967862A CN 111967862 A CN111967862 A CN 111967862A CN 202010886633 A CN202010886633 A CN 202010886633A CN 111967862 A CN111967862 A CN 111967862A
- Authority
- CN
- China
- Prior art keywords
- group
- payment
- intelligent contract
- amount
- contract
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000000977 initiatory effect Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 239000003999 initiator Substances 0.000 description 18
- 230000008569 process Effects 0.000 description 8
- 230000006854 communication Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000004083 survival effect Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于区块链智能合约的数字货币共同支付方法、系统及存储介质。该方法包括:接收群组创建者的创建共同支付群组请求,在客户端上创建智能合约脚本,确认群组成员以及设置每个群组成员的应支付金额,并将智能合约脚本、群组成员和应支付金额发送给区块链;在区块链上部署智能合约脚本,创建该群组成员的合约账户;将合约账户的地址及应支付金额发送给群组成员;接收所述群组成员的支付信息,在所述合约账户中更新群组成员的合计可用金额,并将支付信息及每个群组成员个人可用金额信息存储在智能合约中。本发明使共同支付变得公开透明,大大提高了共同支付的便捷性和可靠性。
Description
技术领域
本发明属于区块链技术领域,更具体地,涉及一种基于区块链智能合约的数字货币共同支付方法、系统及存储介质。
背景技术
显示生活场景中经常出现多人共同支付问题,在生活中我们通常称之为AA制。目前的常规方法是,团体中的其中一人作为代理向商家付款,其他人在事前或事后向该付款代理人转账。该方法特别是在多人旅行或者多次支付的时候变得非常繁琐,为付款代理人增加了工作量;同时,账本的真实性和准确性建立在人与人之间的信任之上,并无权威机构记账或监督。
近年来,全球掀起了研究区块链的热潮,很多发达国家已经开始接受比特币付款,同时中国央行也即将发行数字货币DCEP,目前已经在中国农业银行进行内测。但是目前还没有利用区块链进行共同支付的成熟技术。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种基于区块链智能合约的数字货币共同支付方法、系统及存储介质,使共同支付变得公开透明,大大提高了共同支付的便捷性和可靠性。
为实现上述目的,按照本发明的第一方面,提供了一种基于区块链智能合约的数字货币共同支付方法,包括步骤:
接收群组创建者的创建共同支付群组请求,在客户端上创建智能合约脚本,确认群组成员信息以及设置每个群组成员的应支付金额,并将所述智能合约脚本、所述群组成员和所述应支付金额发送给区块链;
在所述区块链上部署所述智能合约脚本,同时创建所述群组成员的合约账户,在所述智能合约脚本中记录所述群组成员和所述合约账户;
将所述合约账户的地址及所述应支付金额发送给所述群组成员;
接收所述群组成员的支付信息,在所述合约账户中更新所述群组成员的合计可用金额,在所述智能合约中记录所述支付信息以及更新所述群组成员的个人可用金额信息。
优选的,该方法还包括步骤:
接收任一所述群组成员的共同支付发起请求,所述共同支付发起请求包括收款方、参与成员、每个所述参与成员个人应支付金额和实际交易总金额;
读取所述参与成员的所述个人可用金额信息;
若所述参与成员的个人可用金额不小于对应的所述个人应支付金额,则将所述收款方、所述参与成员、所述个人应支付金额和所述实际交易总金额发送给所述智能合约;
调用所述智能合约向所述收款方付款,在所述合约账户中更新所述合计可用金额,在所述智能合约中记录所述付款信息并更新所述参与成员的所述个人可用金额信息。
优选的,该方法还包括步骤:
接收所述群组创建者的解散请求,向所述群组成员确认是否同意解散所述共同支付群组;
若所述群组成员确认解散所述共同支付群组,则调用所述智能合约读取所述群组成员的所述个人可用金额信息,向所述群组成员退还个人可用金额,并销毁所述智能合约。
优选的,预先设置交易手续费计算方法,在所述合约账户中更新所述合计可用金额时,以及更新所述个人可用金额信息时,均根据所述交易手续费计算方法计算并扣除应支付的交易手续费。
优选的,所述创建智能合约脚本时,设置所述智能合约脚本的有效时间。
优选的,接收任一所述群组成员的查询请求,从所述智能合约中读取所述支付信息和所述付款信息。
按照本发明的第二方面,提供了一种基于区块链智能合约的数字货币共同支付系统,包括客户端和区块链:
所述客户端用于接收群组创建者的创建共同支付群组请求,创建智能合约脚本,确认群组成员信息以及设置每个群组成员的应支付金额,并将所述智能合约脚本、所述群组成员和所述应支付金额发送给所述区块链;
所述区块链用于部署所述智能合约脚本和创建所述群组成员的合约账户,在所述智能合约脚本中记录所述群组成员和所述合约账户;
所述客户端还用于将所述合约账户的地址及所述应支付金额发送给所述群组成员;
所述区块链还用于接收所述群组成员的支付信息,在所述合约账户中更新所述群组成员的合计可用金额,在所述智能合约中记录所述支付信息以及所述群组成员的个人可用金额信息。
按照本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项方法。
总体而言,本发明与现有技术相比,具有有益效果:本专利提出了一种基于区块链智能合约的数字货币共同支付方法及软件,使日常生活中的共同支付变得公开透明,并且由智能合约代替人来完成记账和组织收款功能,大大提高了共同支付的便捷性和可靠性。
附图说明
图1是本发明实施例的创建共同支付群组流程图;
图2是本发明实施例的发起共同支付流程图;
图3是本发明实施例的结束共同支付流程图;
图4是本发明实施例的创建共同支付群组三方通信过程示意图;
图5是本发明实施例的发起共同支付三方通信过程示意图;
图6是本发明实施例的结束共同支付三方通信过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
本发明实施例的一种基于区块链智能合约的数字货币共同支付方法,包括步骤:
步骤1、接收群组创建者的创建共同支付群组请求,在客户端上创建智能合约脚本,确认群组成员信息以及设置每个群组成员的应支付金额,并将智能合约脚本、群组成员和应支付金额发送给区块链。其中确认群组成员信息可以通过向群组成员候选人发送询问消息来确认。
步骤2、在区块链上部署智能合约脚本,同时创建该群组成员的合约账户,在智能合约脚本中记录群组成员和对应的合约账户。合约账户相当于一个共同钱包,用于存储群组成员的合计可用金额。
步骤3、创建者客户端将合约账户的地址及所述应支付金额发送给其他群组成员,其他群组成员接收到消息后进行支付。
步骤4、接收所述群组成员的支付信息,在所述合约账户中更新群组成员的合计可用金额,将本次支付信息存储在智能合约中,并在智能合约中更新每个群组成员的个人可用金额信息。
优选的,该方法还包括步骤5至8。
步骤5、接收任一群组成员的共同支付发起请求,该共同支付发起请求包括收款方、参与成员、每个所述参与成员个人应支付金额和实际交易总金额。
步骤6、读取参与成员的所述个人可用金额信息。
步骤7、若预存资金金额足够支付该实际交易总金额,则确认该实际交易总金额的参与成员,并将参与成员、实际交易总金额和收款方发送给智能合约。
步骤8、调用智能合约向收款方付款,在合约账户中更新合计可用金额,在智能合约中记录此次付款信息并更新此次付款参与成员的个人可用金额信息。优选的,预先设置交易手续费计算方法,在合约账户中更新合计可用金额时,根据交易手续费计算方法计算并扣除应支付的交易手续费。
优选的,该方法还包括步骤9至10。
步骤9、接收群组创建者的解散请求,向群组成员确认是否同意解散共同支付群组;
步骤10、若群组成员确认解散共同支付群组,则调用智能合约读取群组成员的个人可用金额信息,向群组成员退还个人可用金额,并销毁智能合约。
实施例2:
共同支付软件由两部分组成,客户端和区块链智能合约。客户端的使用者为共同支付发起者和共同支付参与者。因此,在创建共同支付群组过程中,系统可以分为智能合约,创建者客户端和参与者客户端;在进行共同支付过程中,软件可以分为智能合约,发起者客户端和参与者客户端。
客户端中存储用户的公钥、私钥和智能合约脚本代码,智能合约中部署智能合约脚本和智能合约账户。客户端之间只进行消息的通信,智能合约完成共同支付和自动记账的功能。
客户端需要存储用户的私钥、公钥和通用智能合约脚本。可以和其它客户端进行通信。可以自动完成用户账户的付款、部署智能合约和创建合约账户。可以自动从智能合约中读取账本。
智能合约由客户端部署,同时创建合约账户。合约账户作为共同支付群组的公共账户,由该群组共同使用。智能合约帮助用户完成共同支付。智能合约中存储账本信息。智能合约的运行收取gas费。
任意用户都可以作为共同支付群组的创建者或群组成员,以及共同支付交易的发起者或参与成员。
可以预先设定手续费,例如设定每笔共同交易都需要收取交易金额*1%作为手续费,手续费中包括智能合约运行所需gas费和交给企业的管理费。
企业账户用于收取管理费。
if_join:表示是否参与群组,或是否参与共同支付,或是否同意更改合约账户存活时间,或是否同意解散共同支付群组。如果if_jon=True,表示参与或同意;如果if_join=False,表示不参与或不同意。
message:客户端之间发送的消息。
本发明实施例的基于区块链智能合约的数字货币共同支付方法,可以实现以下功能:(1)创建共同支付群组和公共账号;(2)发起和进行共同支付;(3)共同支付群组创建者销毁公共账号;(4)查看公共账号账本;(5)追加公共账号金额;(6)延长智能合约有效时间。以上功能并非都必须具备,可以根据实际需要灵活组合。
在创建智能合约脚本文件时,可以设定智能合约中的参数。在一个实施例中,智能合约的参数包括以下参数。
1、临时参数
init_money:每人需要向合约账户支付的应支付金额。
该参数不需要存储在智能合约中,每人向智能合约付款后,区块链账本中会显示每人所付金额,智能合约直接读取区块链账本即可。
participate:每笔共同支付参与者公钥。
该参数不需要存储在智能合约中,由共同支付发起者传入。
receiver:每笔共同支付收款方公钥。
该参数不需要存储在智能合约中,由共同支付发起者传入。
actual_money:每笔共同支付实际付给收款方的实际交易总金额。
该参数不需要存储在智能合约中,由共同支付发起者传入。
time:交易时间。
该参数不需要存储在智能合约中,每次由智能合约自动读取当前时间。
2、需要存储的参数
per_money[n]:每人在公共账户中存储的剩余可用资金金额,有几个成员,就对应几个不同的per_money。
初始值为init_money*0.1。
per_wallet:记录群组中每个成员剩余可用金额,{成员1:剩余金额,成员2:剩余金额,...,成员n:剩余金额}。
初始值为{成员1公钥:per_money[1],成员2公钥:per_money[2],...,成员n公钥:per_money[n]}。
transaction:交易记录。其中包含{participate参与者,sum_money交易总金额(手续费+actual_money),actual_money实际交易金额(付给收款方的金额),receiver收款方,time交易时间}。
初始值为空。
alive_time:公共账号存活时间。
初始值在创建智能合约脚本时由创建者自由设置。
alive:表示该智能合约是否存活。如果alive=0,表示合约可用;alive=1,表示合约被销毁。该值只有智能合约的创建者可以修改。alive初始值为0。
本发明实施例的一种基于区块链智能合约的数字货币共同支付方法中,创建共同支付群组的流程如图1,三方通信过程如图4所示。
1、创建者创建共同支付群组和公共账号的步骤包括:
步骤一、任意一位用户均可作为创建者,在客户端创建一个共同支付群组。
步骤二、如果参与者中(被选中成员)有用户选择参与,进入步骤三;否则创建群组失败,结束。
步骤三、创建者客户端自动创建智能合约脚本和合约账户,向智能合约支付金额init_money。并且向所有参与者发送合约地址address和每人应付金额init_money。
步骤四、智能合约记账。
步骤五、结束。
2、参与者创建共同支付群组和公共账号的步骤包括:
步骤一、参与者收到消息选择是否加入共同支付群组。如果所有参与者否选择不加入,则群组创建失败,结束;否则进入步骤二。
步骤二、参与者向智能合约账户支付金额init_money。
步骤三、智能合约记账。
步骤四、结束。
3、创建共同支付群组和公共账号的整体步骤包括:
步骤一、任意一位用户均可作为创建者,在客户端创建一个共同支付群组。此时,该用户客户端向其它参与者客户端发送消息message,询问是否加入群组。
步骤二、所有参与者(被选择进入群组的用户)的客户端向用户传递message并询问,是否加入该群组。如果用户选择加入,则if_join=True;如果用户选择不加入,则if_join=False,并且向创建者客户端返回if_join的值。
步骤三、创建者客户端判断所有收到的if_join的值。如果有用户选择加入,即存在一个if_join=True,进入步骤四;如果所有用户都不加入,即所有if_join=False,则创建共同支付群组失败。
步骤四、创建者客户端自动在智能合约中创建一个脚本和合约账户,向智能合约账户支付金额init_money。
步骤五、创建者客户端向所有参与者客户端发送消息message,其中包含智能合约脚本的地址address,和每人需要向合约账户支付的金额init_money,作为公共账户的初始资金。
步骤六、收到消息后,参与者客户端自动向合约账户地址address支付init_money的金额。所有人都要扣除init_money的1%作为交易费用于创建智能合约的gas费,剩余的将作为管理费转到企业账户。
步骤七、智能合约将本次交易自动记账,新增一条记录在交易记录transactions中。假设设定手续费为交易金额*0.01,则目前每人在公共账户中存放的资金per_money=0.99*init_money。)
步骤八、部署智能合约脚本和创建公共账户完成。
本发明实施例的一种基于区块链智能合约的数字货币共同支付方法中,完成共同支付的流程如图2,三方通信过程如图5所示。
1、发起者发起共同支付的步骤包括:
步骤一、群组中的任意一位用户,可以作为发起者发起共同交易。设置participant参与者列表、actual_money实际交易总金额和receiver收款方。
步骤二、发起者的客户端判断公共账户中的存款,是否足够支付该笔交易。如果可以,进入步骤三;否则,返回错误代码“金额不足”,结束。
步骤三、如果其它参与者都选择参与该笔共同交易,进入步骤四;如果有参与者不同意,共同支付发起失败,结束。
步骤四、参与者客户端向智能合约传递参数向其传递参数participant参与者列表、actual_money实际交易总金额和receiver收款方,并支付1%*actual_money的手续费。
步骤五、智能合约自动执行。
步骤六、结束。
2、参与者参与共同支付的步骤包括:
步骤一、参与者收到消息选择是否参与本次共同支付。如果所有参与者都选择参加,进入步骤二;如果有参与者选择不参加,结束。
步骤二、智能合约自动执行。
步骤三、结束。
3、共同支付的整体步骤包括:
步骤一、群组中的任意一位用户,可以作为发起者发起共同支付请求。设置participant参与者列表、actual_money实际交易总金额和receiver收款方,本实施例中,同时还设置默认每个人的应支付金额相同,那么相当于共同支付请求中也包括了每个参与成员的应支付金额。
步骤二、发起者客户端读取智能合约中的参数per_wallet,判断公共账号中的金额是否足够支付。即判断per_wallet中参与者的剩余可用金额是否大于他本次的交易金额。如果能够支付,进入步骤三;如果有任意一位用户的剩余金额不足以支付,客户端显示错误代码“金额不足”,结束。
步骤三、发起者客户端向参与者客户端发送消息message,其中包括participant,actual_money和receiver。
步骤四、参与者客户端向用户询问是否参加该笔共同支付。如果用户选择参加,if_join=True;如果用户选择不参加,if_join=False。参与者客户端向发起者客户端发送if_join的值。
步骤五、发起者客户端收集所有参与者客户端发来的if_join。如果所有用户都选择参加,即所有if_join=True,则进入步骤六;如果有用户选择不参加,即存在if_join=False,该笔共同支付发起失败,共同支付结束。
步骤六、发起者客户端调用智能合约,向其传递参数participant参与者列表、actual_money实际交易总金额和receiver收款方,向智能合约支付1%*actual_money的手续费。由于设置默认每个人的应支付金额相同,那么传递actual_money实际交易总金额,相当于也告知了每个参与成员的应支付金额。
步骤七、智能合约自动计算出sum_money=101%*actual_money,自动向收款方支付相应的金额(actual_money)。同时扣除gas费,并将剩余的手续费作为管理费转到企业账户。
步骤八、智能合约记账,向transaction交易记录中增加一条记录。同时在per_wallet列表修改群组中每个成员剩余可用金额。由于发起者支付了所有手续费,因此在记录每个成员剩余可用金额时,应在发起者的金额中增加手续费金额。
步骤九、共同支付结束。
本发明实施例的一种基于区块链智能合约的数字货币共同支付方法中,结束共同支付的流程如图3,三方通信过程如图6所示。
1、创建者结束共同支付的步骤包括:
步骤一、群组创建者发起解散共同支付请求,并且向其它参与者客户端发送询问。
步骤二、如果参与者中有2/3选择同意结束,进入步骤三;否则共同支付结束失败。
步骤三、创建者客户端向智能合约传递参数alive=1,并支付一定手续费。
步骤四、创建者收到退款。
步骤五、结束。
2、群组参与者结束共同支付的步骤包括:
步骤一、参与者客户端收到消息,参与者选择是否结束共同支付。如果参与者中有2/3选择同意结束,进入步骤二;否则共同支付结束失败。
步骤二、参与者收到智能合约退款。
步骤三、结束。
3、结束共同支付的整体步骤:
步骤一、群组创建者可以解散共同支付群组并且销毁公共账号。创建者客户端向其它参与者客户端发送结束共同支付信息message。
步骤二、参与者选择是否结束共同支付。如果同意,if_join=True;如果不同意if_join=False。并且将if_join的结果发送给创建者客户端。
步骤三、参与者客户端接收所有if_join,如果参与者中有2/3选择同意结束,进入步骤三;否则共同支付结束失败。
步骤三、群组创建者更改智能合约中的参数alive=1,即向智能合约中传递参数alive=1,并且支付一定的手续费。
步骤四、智能合约根据per_wallet中的记录将每人剩余金额退还。由于创建者支付了所有手续费,因此per_wallet中,应在创建者的剩余金额中增加手续费金额。
步骤五、智能合约记账,在transaction中增加一条记录。
步骤六、智能合约自动销毁。
步骤七、结束。
4、共同支付自动结束:
如果共同支付超过存活时间alive_time,智能合约将自动退款,并且自动销毁。
本发明实施例的一种基于区块链智能合约的数字货币共同支付方法中,查看公共账号账本的步骤包括:
步骤一、群组中任意一位用户均可查看账本。用户向客户端提出查看账本请求。
步骤二、客户端读取智能合约中的参数transactions,并在客户端中向用户展示。
本发明实施例的一种基于区块链智能合约的数字货币共同支付方法中,公共账号追加金额的步骤包括:当公共账户中的资金不足时,任意一位成员均可以追加群组成员存在公共账号中的金额。发起者发起一笔共同支付,收款方为智能合约账户即可。
本发明实施例的一种基于区块链智能合约的数字货币共同支付方法中,创建者延长智能合约存活时间的步骤包括:
步骤一、创建者可以延长智能合约存活时间。创建者客户端向其它参与者客户端发送请求消息message。
步骤二、参与者选择是否同意延长智能合约存活时间,并且返回参数if_join给创建者客户端。if_join=True表示同意;if_join=False表示不同意。如果2/3的参与者同意,进入步骤三;否则请求失败,结束。
步骤三、创建者客户端向智能合约函数发送参数,新的alive_time。
步骤四、智能合约中参数alive_time被修改。
步骤五、结束。
实施例3:
本发明实施例的一种基于区块链智能合约的数字货币共同支付方法,与实施例2的不同之处在于:每个用户可以支付不同的金额。共同支付发起请求包括收款方、参与成员、每个所述参与成员个人应支付金额和实际交易总金额。向智能合约传递参数时,需要传递收款方、参与成员、每个参与成员的个人应支付金额和实际交易总金额。
需要增加两个变量:
(1)列表money_list,用来存储每个参与者需要支付的金额(即加收1%手续费后的金额);
(2)列表actmoney_list,用来存储每个参与者实际支付给收款方的金额,该变量由发起者设置。
需要在存入账本的数据transactions中增加列表money_list和actmoney_list。
实施例4:
本发明实施例的一种基于区块链智能合约的数字货币共同支付方法,与实施例3的不同之处增加审计模式。用户/共同支付参与者可以将是否参与共同支付的选项设置为“默认:参与”或者“每次都要询问”。当设置为“默认:参与”时,每笔与其有关的共同交易自动选择参加,并且将钱付到智能合约中。所有交易都被记录在账本中,用户可以随时查看账本获得自己的交易情况。
实施例5:
本发明实施例的一种基于区块链智能合约的数字货币共同支付系统,包括客户端和区块链:客户端用于接收群组创建者的创建共同支付群组请求,创建智能合约脚本,确认群组成员信息以及设置每个群组成员的应支付金额,并将智能合约脚本、群组成员和应支付金额发送给区块链;区块链用于部署智能合约脚本和创建群组成员的合约账户,在智能合约脚本中记录群组成员和合约账户;客户端还用于将合约账户的地址及应支付金额发送给群组成员;区块链还用于接收群组成员的支付信息,在合约账户中更新群组成员的合计可用金额,在智能合约中记录支付信息以及群组成员的个人可用金额信息。
优选的,客户端还用于接收任一群组成员的共同支付发起请求,共同支付发起请求包括收款方、参与成员、每个参与成员个人应支付金额和实际交易总金额;客户端还用于读取参与成员的个人可用金额信息;客户端还用于若参与成员的个人可用金额不小于对应的个人应支付金额,则将收款方、参与成员、个人应支付金额和实际交易总金额发送给智能合约;区块链还用于调用智能合约向收款方付款,在合约账户中更新合计可用金额,在智能合约中记录付款信息并更新参与成员的个人可用金额信息。
优选的,客户端还用于接收群组创建者的解散请求,向群组成员确认是否同意解散共同支付群组;区块链还用于若群组成员确认解散共同支付群组,则调用智能合约读取群组成员的个人可用金额信息,向群组成员退还个人可用金额,并销毁智能合约。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现上述任一共同支付方法实施例的技术方案。其实现原理、技术效果与上述方法类似,此处不再赘述。
必须说明的是,上述任一实施例中,方法并不必然按照序号顺序依次执行,只要从执行逻辑中不能推定必然按某一顺序执行,则意味着可以以其他任何可能的顺序执行。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于区块链智能合约的数字货币共同支付方法,其特征在于,包括步骤:
接收群组创建者的创建共同支付群组请求,在客户端上创建智能合约脚本,确认群组成员以及设置每个所述群组成员的应支付金额,并将所述智能合约脚本、所述群组成员和所述应支付金额发送给区块链;
在所述区块链上部署所述智能合约脚本,同时创建所述群组成员的合约账户,在所述智能合约脚本中记录所述群组成员和所述合约账户;
将所述合约账户的地址及所述应支付金额发送给所述群组成员;
接收所述群组成员的支付信息,在所述合约账户中更新所述群组成员的合计可用金额,在所述智能合约中记录所述支付信息以及更新所述群组成员的个人可用金额信息。
2.如权利要求1所述的一种基于区块链智能合约的数字货币共同支付方法,其特征在于,还包括步骤:
接收任一所述群组成员的共同支付发起请求,所述共同支付发起请求包括收款方、参与成员、每个所述参与成员个人应支付金额和实际交易总金额;
读取所述参与成员的所述个人可用金额信息;
若所述参与成员的个人可用金额不小于对应的所述个人应支付金额,则将所述收款方、所述参与成员、所述个人应支付金额和所述实际交易总金额发送给所述智能合约;
调用所述智能合约向所述收款方付款,在所述合约账户中更新所述合计可用金额,在所述智能合约中记录所述付款信息并更新所述参与成员的所述个人可用金额信息。
3.如权利要求1所述的一种基于区块链智能合约的数字货币共同支付方法,其特征在于,还包括步骤:
接收所述群组创建者的解散请求,向所述群组成员确认是否同意解散所述共同支付群组;
若所述群组成员确认解散所述共同支付群组,则调用所述智能合约读取所述群组成员的所述个人可用金额信息,向所述群组成员退还个人可用金额,并销毁所述智能合约。
4.如权利要求1所述的一种基于区块链智能合约的数字货币共同支付方法,其特征在于,预先设置交易手续费计算方法,在所述合约账户中更新所述合计可用金额时,以及更新所述个人可用金额信息时,均根据所述交易手续费计算方法计算并扣除应支付的交易手续费。
5.如权利要求1所述的一种基于区块链智能合约的数字货币共同支付方法,其特征在于,所述创建智能合约脚本时,设置所述智能合约脚本的有效时间。
6.如权利要求1所述的一种基于区块链智能合约的数字货币共同支付方法,其特征在于,接收任一所述群组成员的查询请求,从所述智能合约中读取所述支付信息和所述付款信息。
7.一种基于区块链智能合约的数字货币共同支付系统,其特征在于,包括客户端和区块链:
所述客户端用于接收群组创建者的创建共同支付群组请求,创建智能合约脚本,确认群组成员以及设置每个所述群组成员的应支付金额,并将所述智能合约脚本、所述群组成员和所述应支付金额发送给所述区块链;
所述区块链用于部署所述智能合约脚本和创建所述群组成员的合约账户,在所述智能合约脚本中记录所述群组成员和所述合约账户;
所述客户端还用于将所述合约账户的地址及所述应支付金额发送给所述群组成员;
所述区块链还用于接收所述群组成员的支付信息,在所述合约账户中更新所述群组成员的合计可用金额,在所述智能合约中记录所述支付信息以及所述群组成员的个人可用金额信息。
8.如权利要求7所述的一种基于区块链智能合约的数字货币共同支付系统,其特征在于,所述客户端还用于接收任一所述群组成员的共同支付发起请求,所述共同支付发起请求包括收款方、参与成员、每个所述参与成员个人应支付金额和实际交易总金额;
所述客户端还用于读取所述参与成员的所述个人可用金额信息;
所述客户端还用于若所述参与成员的个人可用金额不小于对应的所述个人应支付金额,则将所述收款方、所述参与成员、所述个人应支付金额和所述实际交易总金额发送给所述智能合约;
所述区块链还用于调用所述智能合约向所述收款方付款,在所述合约账户中更新所述合计可用金额,在所述智能合约中记录所述付款信息并更新所述参与成员的所述个人可用金额信息。
9.如权利要求7所述的一种基于区块链智能合约的数字货币共同支付系统,其特征在于,所述客户端还用于接收所述群组创建者的解散请求,向所述群组成员确认是否同意解散所述共同支付群组;
所述区块链还用于若所述群组成员确认解散所述共同支付群组,则调用所述智能合约读取所述群组成员的所述个人可用金额信息,向所述群组成员退还个人可用金额,并销毁所述智能合约。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010886633.2A CN111967862A (zh) | 2020-08-28 | 2020-08-28 | 基于区块链智能合约的数字货币共同支付方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010886633.2A CN111967862A (zh) | 2020-08-28 | 2020-08-28 | 基于区块链智能合约的数字货币共同支付方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111967862A true CN111967862A (zh) | 2020-11-20 |
Family
ID=73400594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010886633.2A Pending CN111967862A (zh) | 2020-08-28 | 2020-08-28 | 基于区块链智能合约的数字货币共同支付方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111967862A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112819579A (zh) * | 2021-01-29 | 2021-05-18 | 北京极智数仓科技有限公司 | 智能推荐的协同购物的方法、系统、用户终端及交易平台 |
CN113298507A (zh) * | 2021-06-15 | 2021-08-24 | 英华达(上海)科技有限公司 | 支付验证方法、系统、电子设备和存储介质 |
CN113342838A (zh) * | 2021-08-06 | 2021-09-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN113420324A (zh) * | 2021-07-15 | 2021-09-21 | 苏州宣佑科技有限公司 | 一种可进行数据共享和数据转换的家庭码 |
WO2023151438A1 (zh) * | 2022-02-10 | 2023-08-17 | 支付宝(杭州)信息技术有限公司 | 支付交互处理 |
CN116757684A (zh) * | 2023-05-11 | 2023-09-15 | 北京中科江南信息技术股份有限公司 | 一种基于智能合约的数字人民币支付方法及装置 |
US20240037539A1 (en) * | 2022-07-29 | 2024-02-01 | Ncr Corporation | Methods and a system for managing and integrating non-fungible tokens (nfts) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609853A (zh) * | 2017-10-11 | 2018-01-19 | 深圳给乐信息科技有限公司 | 一种基于随机抽签的群体支付金额分配方法及系统 |
CN107833034A (zh) * | 2017-11-20 | 2018-03-23 | 珠海市魅族科技有限公司 | 支付方法及装置、计算机装置和计算机可读存储介质 |
CN110046879A (zh) * | 2019-01-08 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 基于智能合约的收款方法、系统及可读存储介质 |
-
2020
- 2020-08-28 CN CN202010886633.2A patent/CN111967862A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609853A (zh) * | 2017-10-11 | 2018-01-19 | 深圳给乐信息科技有限公司 | 一种基于随机抽签的群体支付金额分配方法及系统 |
CN107833034A (zh) * | 2017-11-20 | 2018-03-23 | 珠海市魅族科技有限公司 | 支付方法及装置、计算机装置和计算机可读存储介质 |
CN110046879A (zh) * | 2019-01-08 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 基于智能合约的收款方法、系统及可读存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112819579A (zh) * | 2021-01-29 | 2021-05-18 | 北京极智数仓科技有限公司 | 智能推荐的协同购物的方法、系统、用户终端及交易平台 |
CN113298507A (zh) * | 2021-06-15 | 2021-08-24 | 英华达(上海)科技有限公司 | 支付验证方法、系统、电子设备和存储介质 |
CN113298507B (zh) * | 2021-06-15 | 2023-08-22 | 英华达(上海)科技有限公司 | 支付验证方法、系统、电子设备和存储介质 |
CN113420324A (zh) * | 2021-07-15 | 2021-09-21 | 苏州宣佑科技有限公司 | 一种可进行数据共享和数据转换的家庭码 |
CN113342838A (zh) * | 2021-08-06 | 2021-09-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN113342838B (zh) * | 2021-08-06 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
WO2023151438A1 (zh) * | 2022-02-10 | 2023-08-17 | 支付宝(杭州)信息技术有限公司 | 支付交互处理 |
US20240037539A1 (en) * | 2022-07-29 | 2024-02-01 | Ncr Corporation | Methods and a system for managing and integrating non-fungible tokens (nfts) |
CN116757684A (zh) * | 2023-05-11 | 2023-09-15 | 北京中科江南信息技术股份有限公司 | 一种基于智能合约的数字人民币支付方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111967862A (zh) | 基于区块链智能合约的数字货币共同支付方法及系统 | |
JP7139499B2 (ja) | ブロックチェーン上のセキュアなピアツーピア通信の方法 | |
US10986177B2 (en) | Systems and methods of self-forking blockchain protocol | |
CN110033377B (zh) | 基于区块链的资产清分方法及装置、电子设备 | |
CN110020936B (zh) | 基于区块链的资产管理方法及装置、电子设备 | |
RU2679532C1 (ru) | Система децентрализованного цифрового расчетного сервиса | |
CN111091364A (zh) | 账户系统、协同支付系统、协同支付方法、终端及存储介质 | |
CN103548044A (zh) | 提供和转移替代电子货币的系统和方法 | |
CN110163605B (zh) | 一种基于区块链的结算方法、装置以及电子设备 | |
JP2021528797A (ja) | 取引処理を高速化するためのブロックチェーンベースの方法、装置、及びシステム | |
CN111383117A (zh) | 基于区块链的资产管理方法、装置及电子设备 | |
US11544787B2 (en) | Apparatus and method for providing protocol for digital asset trading | |
CN110852730A (zh) | 基于数字货币的交易处理方法及装置和电子设备 | |
CN112036849A (zh) | 一种基于分布式账本技术的跨境支付系统及方法 | |
CN111383119A (zh) | 一种基于区块链的资产管理方法、装置及电子设备 | |
JP7188997B2 (ja) | P2p保険を実施するための方法、コンピュータ、システム及びプログラム | |
CN111986025A (zh) | 基于区块链的贷款业务处理方法及系统 | |
CN112053232A (zh) | 自助设备业务账务一致性处理方法及装置 | |
CN110706135A (zh) | 合约处理方法以及装置 | |
JP2021190102A (ja) | 分散型台帳システムにおける債務リソース管理 | |
CN111681053A (zh) | 一种收付链构建方法、装置、计算机设备及可读存储介质 | |
CN111383118A (zh) | 基于区块链的资产管理方法、装置和电子设备 | |
CN111445355A (zh) | 一种基于区块链智能合约的去中心化购房摇号方法 | |
CN113032036B (zh) | 业务数据处理方法、装置、系统、计算机设备和存储介质 | |
CN114118987A (zh) | 基于区块链的跨境汇款方法及装置、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |