CN109727007A - 合约转账方法、设备和存储介质 - Google Patents
合约转账方法、设备和存储介质 Download PDFInfo
- Publication number
- CN109727007A CN109727007A CN201811504766.8A CN201811504766A CN109727007A CN 109727007 A CN109727007 A CN 109727007A CN 201811504766 A CN201811504766 A CN 201811504766A CN 109727007 A CN109727007 A CN 109727007A
- Authority
- CN
- China
- Prior art keywords
- contract
- address
- accounts
- money transfer
- transfer transactions
- 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
Abstract
本发明提供一种合约转账方法、设备和存储介质,该方法包括:构建向第一合约的第一合约地址转账的合约转账交易;将合约转账交易发送至第一区块链的节点,以供节点广播合约转账交易、将合约转账交易打包至区块中,并通过合约转账合约执行合约转账交易。其中,通过合约转账合约执行合约转账交易包括:合约转账合约判断第一合约地址是否有效:是,则执行合约转账交易成功,向第一合约地址进行转账;否,则执行合约转账交易失败,不进行转账。本发明通过构建对合约转账的交易,在区块链上配置执行该类交易的合约,由该合约检测所要转账的合约地址是否有效,并仅在检测结果为有效时进行转账,最终实现了避免对错误的合约地址进行转账导致损失。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种合约转账方法、设备和存储介质。
背景技术
当前区块链系统中的转账功能仅支持非常基础的“地址-地址”的转账,即,无论用户要对个人地址转账,还是对合约地址转账,当前区块链系统的转账功能所执行的操作都仅仅是,将若干加密货币从一个地址转账到另一个地址。
在上述转账过程中,当前的区块链系统无法为用户检测用户所要进行转账的合约地址是否正确,即,用户A要对合约B进行转账,但不小心输入了合约C的地址或用户D的地址,当前的区块链系统会将该笔加密货币转账至合约C或用户D的地址,而无法避免用户误操作导致的损失。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种通过检测所要转账的合约地址避免对错误的合约地址进行转账导致损失的合约转账方法、设备和存储介质。
第一方面,本发明提供一种合约转账方法,适用于用户端,该方法包括:
构建向第一合约的第一合约地址转账的合约转账交易;
将合约转账交易发送至第一区块链的节点,以供节点广播合约转账交易、将合约转账交易打包至区块中,并通过合约转账合约执行合约转账交易。
其中,通过合约转账合约执行合约转账交易包括:合约转账合约判断第一合约地址是否有效:是,则执行合约转账交易成功,向第一合约地址进行转账;否,则执行合约转账交易失败,不进行转账。
第二方面,本发明提供另一种合约转账方法,适用于区块链的节点,该方法包括:
广播合约转账交易;其中,合约转账交易为向第一合约的第一合约地址转账的交易;
将合约转账交易打包至区块中;
通过合约转账合约执行合约转账交易。
其中,通过合约转账合约执行合约转账交易包括:合约转账合约判断第一合约地址是否有效:是,则执行合约转账交易成功,向第一合约地址进行转账;否,则执行合约转账交易失败,不进行转账。
第三方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的合约转账方法。
第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的合约转账方法。
本发明诸多实施例提供的合约转账方法、设备和存储介质通过构建对合约转账的合约转账交易,在区块链上配置执行该类合约转账交易的合约转账合约,由合约转账合约检测所要转账的合约地址是否有效,并仅在检测结果为有效时进行转账,最终实现了避免对错误的合约地址进行转账导致损失。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种合约转账方法的流程图。
图2为图1所示方法中步骤S51的一种实施方式的流程图。
图3为图2所示步骤S51的一种优选实施方式的流程图。
图4为图1所示方法的一种优选实施方式的流程图。
图5为图1所示方法的另一种优选实施方式的流程图。
图6为本发明一实施例提供的另一种合约转账方法的流程图。
图7为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种合约转账方法的流程图。
如图1所示,在本实施例中,本发明提供一种合约转账方法,适用于区块链的节点,该方法包括:
S13:广播合约转账交易;其中,合约转账交易为向第一合约的第一合约地址转账的交易;
S14:将合约转账交易打包至区块中;
S15:通过合约转账合约执行合约转账交易。
其中,步骤S15包括:
S151:合约转账合约判断第一合约地址是否有效:
是,则执行步骤S152:执行合约转账交易成功,向第一合约地址进行转账;
否,则执行步骤S153:执行合约转账交易失败,不进行转账。
具体地,本实施例中的合约转账交易为用于进行合约转账的交易,合约转账合约为配置在第一区块链上、用于执行合约转账交易的合约。本领域技术人员可以理解,如何配置交易类型,并在区块链上配置执行该类型交易的合约
步骤S13中广播交易的原理和步骤S14中打包交易生成区块的原理与现有方案的原理相同,此处不再赘述;
在步骤S151中,当执行合约转账交易时,通过合约转账合约判断合约转账交易所要转账的第一合约地址是否有效。具体地,本实施例中的判断原理如图2所示。图2为图1所示方法中步骤S151的一种实施方式的流程图。如图2所示,在本实施例中,步骤S151包括:
S1512:合约转账合约从第一区块链获取第一合约的合约地址;
S1513:合约转账合约对所获取的合约地址和第一合约地址进行比对:
若比对结果相同,则第一合约地址有效,执行步骤S152;
若比对结果不相同,则第一合约地址无效,执行步骤S153。
具体地,部署在第一区块链上的各个合约的合约地址在第一区块链上均有记录,合约转账交易中还包括第一合约的合约名,因此在步骤S1512中合约转账合约可以根据第一合约的合约名从第一区块链获取到第一合约的合约地址。
例如,当所执行的合约转账交易要对合约B进行转账时,若第一合约地址误写为合约C的地址addc或用户D的地址addd,则在步骤S1512中,合约转账合约从第一区块链上获取到合约B的地址addb,在步骤S1513中,对addb和addc(或addd)进行比对,比对结果不相同,则确定第一合约地址无效,合约转账交易执行失败,不对addc(或addd)进行转账;若第一合约地址正确,则步骤S1513中的比对结果为相同,确定第一合约地址有效,合约转账交易执行成功,对addb进行转账。
图3为图2所示步骤S151的一种优选实施方式的流程图。如图3所示,在一优选实施例中,步骤S1512之前还包括:
S1511:合约转账合约判断第一合约地址的地址格式是否正确:否,则第一合约地址无效。
具体地,例如通常地址为固定位数的16进制字符,若第一合约地址的位数不对,或第一合约地址包含非16进制字符的特殊字符,则说明该第一合约地址的地址格式有误。
图4为图1所示方法的一种优选实施方式的流程图。如图4所示,在一优选实施例中,步骤S13之前还包括:
S11:接收用户端构建并发送的合约转账交易。
图5为图1所示方法的另一种优选实施方式的流程图。如图5所示,在另一优选实施例中,步骤S13之前还包括:
S12:构建合约转账交易。
具体地,图4所示实施例与图5所示实施例的区别在于,图4所示实施例中的合约转账交易由用户端构造并发送至第一区块链的节点,而图5所示实施例中的合约转账交易由节点自身调用接口构建。
上述各实施例通过构建对合约转账的合约转账交易,在区块链上配置执行该类合约转账交易的合约转账合约,由合约转账合约检测所要转账的合约地址是否有效,并仅在检测结果为有效时进行转账,最终实现了避免对错误的合约地址进行转账导致损失。
图6为本发明一实施例提供的另一种合约转账方法的流程图。图6所示的方法可配合图1-5所示的方法执行。
如图6所示,在本实施例中,本发明还提供另一种合约转账方法,适用于用户端,该方法包括:
S21:构建向第一合约的第一合约地址转账的合约转账交易;
S22:将合约转账交易发送至第一区块链的节点,以供节点广播合约转账交易、将合约转账交易打包至区块中,并通过合约转账合约执行合约转账交易。
其中,通过合约转账合约执行合约转账交易包括:合约转账合约判断第一合约地址是否有效:是,则执行合约转账交易成功,向第一合约地址进行转账;否,则执行合约转账交易失败,不进行转账。
优选地,上述合约转账合约判断第一合约地址是否有效包括:
合约转账合约从第一区块链获取第一合约的合约地址;
合约转账合约对所获取的合约地址和第一合约地址进行比对:若比对结果相同,则第一合约地址有效;若比对结果不相同,则第一合约地址无效。
进一步优选地,上述合约转账合约从第一区块链获取第一合约的合约地址之前还包括:合约转账合约判断第一合约地址的地址格式是否正确:否,则第一合约地址无效。
图7为本发明一实施例提供的一种设备的结构示意图。
如图7所示,作为另一方面,本申请还提供了一种设备700,包括一个或多个中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有设备700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上述任一实施例描述的合约转账方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行合约转账方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的合约转账方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种合约转账方法,其特征在于,包括:
构建向第一合约的第一合约地址转账的合约转账交易;
将所述合约转账交易发送至第一区块链的节点,以供所述节点广播所述合约转账交易、将所述合约转账交易打包至区块中,并通过合约转账合约执行所述合约转账交易;
其中,所述通过合约转账合约执行所述合约转账交易包括:所述合约转账合约判断所述第一合约地址是否有效:是,则执行所述合约转账交易成功,向所述第一合约地址进行转账;否,则执行所述合约转账交易失败,不进行转账。
2.根据权利要求1所述的方法,其特征在于,所述合约转账合约判断所述第一合约地址是否有效包括:
所述合约转账合约从所述第一区块链获取所述第一合约的合约地址;
所述合约转账合约对所获取的合约地址和所述第一合约地址进行比对:若比对结果相同,则所述第一合约地址有效;若比对结果不相同,则所述第一合约地址无效。
3.根据权利要求2所述的方法,其特征在于,所述合约转账合约从所述第一区块链获取所述第一合约的合约地址之前还包括:
所述合约转账合约判断所述第一合约地址的地址格式是否正确:否,则所述第一合约地址无效。
4.一种合约转账方法,其特征在于,包括:
广播合约转账交易;其中,所述合约转账交易为向第一合约的第一合约地址转账的交易;
将所述合约转账交易打包至区块中;
通过合约转账合约执行所述合约转账交易;
其中,所述通过合约转账合约执行所述合约转账交易包括:所述合约转账合约判断所述第一合约地址是否有效:是,则执行所述合约转账交易成功,向所述第一合约地址进行转账;否,则执行所述合约转账交易失败,不进行转账。
5.根据权利要求4所述的方法,其特征在于,所述合约转账合约判断所述第一合约地址是否有效包括:
所述合约转账合约从所述第一区块链获取所述第一合约的合约地址;
所述合约转账合约对所获取的合约地址和所述第一合约地址进行比对:若比对结果相同,则所述第一合约地址有效;若比对结果不相同,则所述第一合约地址无效。
6.根据权利要求5所述的方法,其特征在于,所述从所述第一区块链获取所述第一合约的合约地址之前还包括:
所述合约转账合约判断所述第一合约地址的地址格式是否正确:否,则所述第一合约地址无效。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述广播合约转账交易之前还包括:
接收用户端构建并发送的合约转账交易。
8.根据权利要求4-6任一项所述的方法,其特征在于,所述广播合约转账交易之前还包括:
构建合约转账交易。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-8中任一项所述的方法。
10.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811504766.8A CN109727007A (zh) | 2018-12-10 | 2018-12-10 | 合约转账方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811504766.8A CN109727007A (zh) | 2018-12-10 | 2018-12-10 | 合约转账方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109727007A true CN109727007A (zh) | 2019-05-07 |
Family
ID=66295352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811504766.8A Pending CN109727007A (zh) | 2018-12-10 | 2018-12-10 | 合约转账方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109727007A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110942300A (zh) * | 2019-11-14 | 2020-03-31 | 杭州复杂美科技有限公司 | 转账证明提交方法、设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320262A (zh) * | 2014-11-05 | 2015-01-28 | 中国科学院合肥物质科学研究院 | 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统 |
CN105809420A (zh) * | 2016-03-08 | 2016-07-27 | 杭州复杂美科技有限公司 | 多层区块链的清算方法 |
CN106096967A (zh) * | 2016-06-20 | 2016-11-09 | 深圳市淘淘谷信息技术有限公司 | 一种用区块链来标示数字货币流通的方法 |
CN106779708A (zh) * | 2016-12-23 | 2017-05-31 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于智能合约的区块链上参与方身份管理方法及系统 |
CN107730225A (zh) * | 2017-10-24 | 2018-02-23 | 广东工业大学 | 一种大数据交易方法、系统、设备及计算机存储介质 |
CN108256841A (zh) * | 2017-12-28 | 2018-07-06 | 中国人民银行数字货币研究所 | 主动转币的方法、装置及系统 |
CN108764904A (zh) * | 2018-05-25 | 2018-11-06 | 广东广发互联小额贷款股份有限公司 | 一种分布式账户系统中双密钥防盗方法 |
CN108876353A (zh) * | 2018-05-24 | 2018-11-23 | 深圳前海益链网络科技有限公司 | 一种基于近场通讯的区块链数字Token的支付方法 |
-
2018
- 2018-12-10 CN CN201811504766.8A patent/CN109727007A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320262A (zh) * | 2014-11-05 | 2015-01-28 | 中国科学院合肥物质科学研究院 | 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统 |
CN105809420A (zh) * | 2016-03-08 | 2016-07-27 | 杭州复杂美科技有限公司 | 多层区块链的清算方法 |
CN106096967A (zh) * | 2016-06-20 | 2016-11-09 | 深圳市淘淘谷信息技术有限公司 | 一种用区块链来标示数字货币流通的方法 |
CN106779708A (zh) * | 2016-12-23 | 2017-05-31 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于智能合约的区块链上参与方身份管理方法及系统 |
CN107730225A (zh) * | 2017-10-24 | 2018-02-23 | 广东工业大学 | 一种大数据交易方法、系统、设备及计算机存储介质 |
CN108256841A (zh) * | 2017-12-28 | 2018-07-06 | 中国人民银行数字货币研究所 | 主动转币的方法、装置及系统 |
CN108876353A (zh) * | 2018-05-24 | 2018-11-23 | 深圳前海益链网络科技有限公司 | 一种基于近场通讯的区块链数字Token的支付方法 |
CN108764904A (zh) * | 2018-05-25 | 2018-11-06 | 广东广发互联小额贷款股份有限公司 | 一种分布式账户系统中双密钥防盗方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110942300A (zh) * | 2019-11-14 | 2020-03-31 | 杭州复杂美科技有限公司 | 转账证明提交方法、设备和存储介质 |
CN110942300B (zh) * | 2019-11-14 | 2023-04-14 | 杭州复杂美科技有限公司 | 转账证明提交方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109087204A (zh) | 跨链交易校验方法、设备和存储介质 | |
CN107357914B (zh) | 信息处理方法和装置 | |
JP6614756B2 (ja) | 取引システムエラー検出方法、装置、記憶媒体及びコンピュータデバイス | |
AU2018301999A1 (en) | Method and system for improved transaction processing and routing | |
CN112583585B (zh) | 交易执行方法、设备和存储介质 | |
CN110473036A (zh) | 一种生成订单号的方法和装置 | |
CN112288577B (zh) | 分布式服务的交易处理方法、装置、电子设备和介质 | |
CN109948960A (zh) | 搬仓出库、入库方法和装置以及电子设备和存储介质 | |
CN109727007A (zh) | 合约转账方法、设备和存储介质 | |
CN110874728A (zh) | 网上支付系统、网上支付方法、装置、介质及服务器 | |
CN110942300B (zh) | 转账证明提交方法、设备和存储介质 | |
CN109359956A (zh) | 合约配置方法、合约应用方法、设备和存储介质 | |
CN109493015A (zh) | 一种资产转移方法、设备和存储介质 | |
JP7044591B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JP6725923B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
US9727899B2 (en) | Manufacturing and distribution to avoid counterfeit products | |
CN110473093A (zh) | 平行链资产转移方法、设备和存储介质 | |
CN110322350A (zh) | 裁剪共识网络中空区块的方法、装置、设备和存储介质 | |
US20190385168A1 (en) | Multi-Tenant Dispute Services | |
CN110197372A (zh) | 交易组攻击的防护方法、设备和存储介质 | |
CN110506257A (zh) | 在云服务代理系统中创建和分配集成连接器的技术 | |
CN109658232A (zh) | 保险订单处理方法、装置、系统、介质及电子设备 | |
CN105160529A (zh) | 一种安全支付或购物的方法及终端设备 | |
CN110471921A (zh) | 一种智能合约配置、调用和更新方法、设备及存储介质 | |
US9710834B2 (en) | Pre and post purchase identification of counterfeit products |
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 |