【技术实现步骤摘要】
交易方法、计算机设备和存储介质
[0001]本申请涉及区块链
,具体涉及一种交易方法、计算机设备和存储介质。
技术介绍
[0002]比特币脚本是一种堆栈式脚本语言,比特币交易验证由锁定脚本和解锁脚本组成。一个UTXO,有对应的锁定脚本,必须要提供正确的解锁脚本,该UTXO才能被合法花费。
[0003]由于比特币脚本是基于比特币链的原生技术,和比特币区块链的交易,UTXO模型等绑定,无法简单的迁移到其他区块链系统中。
技术实现思路
[0004]鉴于现有技术中的上述缺陷或不足,期望提供一种集成适配了比特币脚本的交易方法、计算机设备和存储介质。
[0005]第一方面,本专利技术提供一种适用于客户端的交易方法,客户端与区块链节点均可调用比特币区块链接口,上述方法包括:
[0006]响应于当前用户与第二用户确定第一交易规则,生成第一锁定脚本,根据第一锁定脚本生成第一交易地址;
[0007]生成未签名的第一交易,并计算未签名的第一交易的第一交易哈希;其中,未签名的第一交易的第一交易发 ...
【技术保护点】
【技术特征摘要】
1.一种交易方法,其特征在于,客户端与区块链节点均可调用比特币区块链接口,所述方法适用于客户端,所述方法包括:响应于当前用户与第二用户确定第一交易规则,生成第一锁定脚本,根据所述第一锁定脚本生成第一交易地址;生成未签名的第一交易,并计算所述未签名的第一交易的第一交易哈希;其中,所述未签名的第一交易的第一交易发起方地址为所述第一交易地址;生成第一临时交易;其中,所述第一临时交易只包括一个输入UTXO,所述第一临时交易的输入UTXO的第一索引哈希为所述第一交易哈希;调用比特币区块链接口根据所述第一锁定脚本、所述第一临时交易、当前用户所持有的私钥生成第一解锁脚本;根据所述第一锁定脚本生成第一交易发送方公钥,并构造所述未签名的第一交易的第一签名信息;其中,所述第一签名信息包括标识为比特币脚本验证类型的第一标识、所述第一交易发送方公钥、所述第一锁定脚本、所述第一解锁脚本;根据所述未签名的第一交易和所述第一签名信息生成完整的第一交易并发送至区块链网络,以供区块链节点:在根据所述完整的第一交易中的所述第一标识判断出所述完整的第一交易为比特币脚本验证类型的交易时,判断所述完整的第一交易中的所述第一交易发送方公钥与所述完整的第一交易中的第一交易发起方地址是否匹配,判断所述完整的第一交易中的所述第一锁定脚本与所述完整的第一交易中的所述第一交易发送方公钥是否匹配;在上述判断均为是时,生成第二临时交易;其中,所述第二临时交易只包括一个输入UTXO,所述第二临时交易的输入UTXO的第二索引哈希为所述第一交易哈希;调用比特币区块链接口根据所述完整的第一交易中的第一锁定脚本、所述完整的第一交易中的第一解锁脚本、所述第二临时交易判断所述第二临时交易是否合法:合法,则执行所述完整的第一交易。2.根据权利要求1所述的方法,其特征在于,所述根据所述未签名的第一交易和所述第一签名信息生成完整的第一交易并发送至区块链网络后,还包括:在第一时长后,删除所述第一临时交易;所述执行所述完整的第一交易后,还包括:在第二时长后,删除所述第二临时交易。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一锁定脚本生成第一交易地址包括:对所述第一锁定脚本进行两次哈希运算以生成第一交易地址;所述根据所述第一锁定脚本生成第一交易发送方公钥包括:对所述第一锁定脚本进行一次哈希运算以生成第一交易发送方公钥;所述判断所述完整的第一交易中的所述第一交易发送方公钥与所述完整的第一交易中的第一交易发起方地址是否匹配,判断所述完整的第一交易中的所述第一锁定脚本与所述完整的第一交易中的所述第一交易发送方公钥是否匹配包括:对所述完整的第一交易中的所述第一交易发送方公钥进行一次哈希运算,判断哈希运算后的值与所述完整的第一交易中的第一交易发起方地址是否相同;
对所述完整的第一交易中的所述第一锁定脚本进行一次哈希运算,判断哈希运算后的值与所述完整的第一交易中的所述第一交易发送方公钥是否相同。4.根据权利要求1所述的方法,其特征在于,所述生成未签名的第一交易前,还包括:生成向所述第一交易地址转账的第一转账交易并发送至区块链网络,以供区块链节点在执行所述第一转账交易成功时,将所述第一转账交易所指定的通证从所述第一用户的第一用户地址划转至所...
【专利技术属性】
技术研发人员:姜鹏,王志文,吴思进,
申请(专利权)人:杭州复杂美科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。