比特币通信协议 - 币圈消息

比特币通信协议篇11、二、TURN简介。在典型的情况下,TURN客户端连接到内网中,并且通过一个或者多个NAT到 详细

比特币脚本举例 - 币圈消息

[复制链接]
40 0
wangjia 发表于 2022-11-3 15:49:16 | 只看该作者 |阅读模式 打印 上一主题 下一主题
比特币一个多少人民币1、脚本语言比特币在交易中使用脚本系统,与FORTH(一种编译语言)一样,脚本是简单的、基于堆栈的、并且从左向右处理,没有LOOP语句!
2、输入脚本scriptSig:3045022100efe12e2584bbd346bccfe67fd50a54191e4f45f945e3853658284358d9c062ad02200121e00b6297c0874650d00b786971f5b4601e32b3f81afa9f9f8108e93c752201038b29d4fbbd12619d45c84c83cb4330337ab1b1a3737250f29cec679d7551148a。
3、*交易a:9c50cee8d50e273100987bb12ec46208cb04a1d5b68c9bea84fd4a04854b5eb1。
4、解:交易b的『输入脚本』,这么一长串只是两个元素,『签名』和『公钥』3046022100ba1427639c9f67f2ca1088d0140318a98cb1e84f604dc90ae00ed7a5f9c61cab02210094233d018f2f014a5864c9e0795f13735780cafd51b950f503534a6af246aca30103a63ab88e75116b313c6de384496328df2656156b8ac48c75505cd20a4890f5ab。
5、OP_EQUALVERIFY:检查栈顶两个元素是否相等 / 。
6、每个『输入交易』『输出交易』中,都包含对应的『脚本』。
7、[1]申屠青春(我看比特币),【比特币脚本】。
8、也就是P2PKH(PayToPublicKeyHash),我们常用的转账方式。Alice在转账给Bob的时候,所以在『输入交易』中给出了自己的『公钥』以及使用『私钥』对交易的签名。看个实例:。
9、输出交易:转账值:05010000btc。
10、这样一串指令执行下来,就可以验证这道数学题是否做对了,上面的执行过程是可以在脚本模拟器中执行的,能够看到每一步执行的状态,感兴趣的童鞋可以尝试一下!

怎样购买比特币1、交易a,Alice转账给Bob;交易b,Bob转账给Carol;交易c,Carol转账给Dave。
2、假设有这么一系列交易: / 。
3、『输入脚本』和『输出脚本』。要理解比特币脚本,先要了解『堆栈』,这是一个后进先出(LastInFirstOut)的容器,脚本系统对数据的操作都是通过它完成的。比特币脚本系统中有两个堆栈:主堆栈和副堆栈,一般来说主要使用主堆栈。举几个简单的例子,看下指令是如何对堆栈操作的:常数入栈:把一段常数压入到堆栈中,这个常数成为了栈顶元素 / 。
4、参考。换句话说,在一个交易中,『输出脚本』是数学题,『输入脚本』是题解,但不是这道数学题的题解。我开始看Wiki的时候,在这里遇到了一些障碍,没法理解『输入脚本』和『输出脚本』的联系。但是在考虑交易间的关系后,就明白了!
5、输出脚本scriptPubKey:OP_DUPOP_HASH160be10f0a78f5ac63e8746f7f2e62a5663eed05788OP_EQUALVERIFYOP_CHECKSIG。
6、9c50cee8d50e273100987bb12ec46208cb04a1d5b68c9bea84fd4a04854b5eb1这是一个单输入单输出交易,看下我们要关注的数据:。
7、输入交易:前导输入的Hash:437b95ae15f87c7a8ab4f51db5d3c877b972ef92f26fbc6d3c4663d1bc750149。
8、所以说, / 。OP_CHECKSIG使用栈顶前两元素执行签名校验操作,如果相等,返回成功,否则返回失败。
9、当前交易的『输入』都引用前一个交易的『输出』,如交易b的『输入』引用交易a的『输出』。
10、交易b中有一个『输入交易』引用了交易a的『输出交易』,它们的脚本是一对题与解:。
比特币为什么值钱1、[2]BitcoinWiki,【Script】。
2、按照之前的说法,交易a中的『输出脚本』就是Alice为Bob出的数学题。那么,Bob想要引用交易a『输出交易』的比特币,就要解开这道数学题。题解是在交易b的『输入脚本』里给出的!Bob解开了这道题,获得了奖金,然后在交易b中为Carol出一道数学题,等待Carol来解 。
3、OP_DUP:复制栈顶元素 / 。
4、OP_HASH160计算栈顶元素Hash,得到pubkeyhash。
5、假设Alice是转账发送者,Bob是接受者。『输出交易』表明了Alice要转账的数额和转账对象Bob。那么,你可能要问,数据中的『输入脚本』和『输出脚本』是不是就是题和解?对了一半!原先发送币的一方,控制脚本运行,以便比特币在下一个交易中使用。想花掉币的另一方必须把以前记录的运行为真的脚本,放到输入区!
6、其实我们可以这样看待比特币的交易:『交易的发起者悬赏若干比特币,在网络上贴出了一到数学题,谁解出了这道数学题,悬赏就归谁了』。顺着这个思路,Alice对Bob的转账可以理解为『Alice把一道只有Bob才能解开的数学题发到网络上,Bob解出题并拿走了悬赏』。那么,每个交易数据中都会出现的『脚本』就是题和解,『脚本语言』就是用来描述题和解的工具!
7、将『输出脚本』中的『公钥哈希』入栈,为了和前面计算得到的哈希区别,称它为pubkeyhash 。
8、题:交易a的『输出脚本』,若干个脚本指令和转账接收方的『公钥哈希』OP_DUPOP_HASH160be10f0a78f5ac63e8746f7f2e62a5663eed05788OP_EQUALVERIFYOP_CHECKSIG。
9、在这里我们先讨论单输入单输出的比特币交易,因为这样描述起来更方便且不影响对『脚本』的理解!
10、下面来看下这两段脚本是如何执行,来完成『解题』过程的。首先执行的是『输入脚本』。因为脚本是从左向右执行的,那么先入栈的是『签名』,随后是『公钥』 / 。
如何挖矿比特币1、 / 。Hash:9c50cee8d50e273100987bb12ec46208cb04a1d5b68c9bea84fd4a04854b5eb1。
2、标准交易脚本。*交易b:62fadb313b74854a818de4b4c0dc2e2049282b28ec88091a9497321203fb016e。
3、接着,执行的是『输出脚本』。从左向右执行,第一个指令是OP_DUP复制栈顶元素。
4、OP_EQUALVERIFY检查栈顶前两元素是否相等,如果相等继续执行,否则中断执行,返回失败。
5、更多区块链技术指南请关注巴比特区块链专题教学:比特币教程_比特币入门_比特币指南_比特币新手。
极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:比特币脚本举例
喜欢 (0)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
收藏
收藏0
转播
转播
分享
分享
分享
淘帖0
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝0

帖子2930859

发布主题
阅读排行更多+

Powered by 顺水鱼MT4外汇EA网! X3.2© 2001-2017 顺水MT4外汇EA公司.( 陕ICP备17014341号-1