顺水外汇EA交易网MT4
标题:
比特币交易中锁定脚本的生成 - 币圈消息
[打印本页]
作者:
wangjia
时间:
2022-11-3 15:40
标题:
比特币交易中锁定脚本的生成 - 币圈消息
比特币怎么产生出来的1、structWitnessV0ScriptHash:publicuint256。
2、explicitWitnessV0KeyHash(constuint160 hash):uint160(hash){}。
3、boolIsValidDestination(constCTxDestination dest);。
4、*GenerateaBitcoinscriptPubKeyforthegivenCTxDestination.ReturnsaP2PKH。
5、TX_PUBKEYHASH,。
6、*scriptforaCKeyIDdestination,aP2SHscriptforaCScriptID,andanempty。
7、*Returnstrueifsuccessful.Currentlydoesnotextractaddressfrom。
8、//脚本哈希值结构体。*/。**CScriptID:TX_SCRIPTHASHdestination(P2SH)。
9、*ParseastandardscriptPubKeywithoneormoredestinationaddresses.For。
10、boolExtractDestination(constCScript scriptPubKey,CTxDestination addressRet);。
比特币生成原理1、/**GetthenameofatxnouttypeasaCstring,ornullptrifunknown.*/。
2、锁定脚本是一个放置在输出上面的花费条件:它指定了今后花费这笔输出必须要满足的条件!
3、*theaddressRetparameterandreturnstrueifsuccessful.Formultisig。
4、构建交易的过程需要解锁脚本,但是解锁脚本中的签名部分(Sig)需要通过交易本身才能获取,而交易本身现在还正在构建,所以暂时还不知道真正的解锁脚本.所以用UTXO中的锁定脚本暂时代替交易输入的解锁脚本,从而构建一个临时的原始交易.。
5、*multisigscripts,thispopulatestheaddressRetvectorwiththepubkeyIDs。
6、Pay2ScriptHash:OP_HASH160+OP_0+pubKeyHash+OP_EQUAL。
7、*scriptforCNoDestination.。
8、// standard transactiontypes:。
9、{。WitnessV0KeyHash():uint160(){}。
10、2019-04-28更新。/**CheckwhetheraCTxDestinationisaCNoDestination.*/。
比特币如何产生的1、TX_PUBKEY,。详情见我的小博客,写得不好,凑合着帮助理解吧!
2、CScriptGetScriptForMultisig(intnRequired,conststd::vector keys);。
3、usinguint256::uint256;。
4、/**GenerateaP2PKscriptforthegivenpubkey.*/。
5、交易输入的解锁脚本。**WitnessV0KeyHash:TX_WITNESS_V0_KEYHASHdestination(P2WPKH)。
6、*P2WSHscript.。*addressRetispopulatedwithasinglevalueandnRequiredRetissetto。
7、需要特别注意的是:如果交易有多个输入,在计算解锁脚本构建原始交易的时候,除了当前正在构建的输入,其他输入的解锁脚本字段(signatureScript)需要设置为空.。
8、交易输出需要包含一个锁定脚本!
9、TX_MULTISIG,。TX_SCRIPTHASH,。
10、boolExtractDestinations(constCScript scriptPubKey,txnouttype typeRet,std::vector addressRet,int nRequiredRet);。
怎样购买比特币1、解锁脚本是一个“解决”或满足被锁定脚本在一个输出上设定的花费条件的脚本,它将允许输出被消费.。
2、简单分享一下,稍微补充一点.。
3、**CNoDestination:nodestinationset。
4、*scripthash,forP2PKHitwillcontainthekeyhash,txnouttype typeRet,std::vector std::vector vSolutionsRet);。
5、**WitnessUnknown:TX_WITNESS_UNKNOWNdestination(P2W???)。
6、WitnessV0ScriptHash():uint256(){}。
7、*Generateapay-to-witnessscriptforthegivenredeemscript.Iftheredeem。
8、TX_WITNESS_UNKNOWN,//!constCNoDestination b){returntrue;}。
9、*encodableasanaddress)withkeyidentifiers(ofkeysinvolvedina。
10、*ParseastandardscriptPubKeyforthedestinationaddress.Assignsresultto。
比特币和区块链的关系1、*scripts,insteaduseExtractDestinations.CurrentlyonlyworksforP2PK,。
2、TX_WITNESS_V0_KEYHASH,。
3、拼接,就是解锁脚本.。
4、**WitnessV0ScriptHash:TX_WITNESS_V0_SCRIPTHASHdestination(P2WSH)。
5、TX_WITNESS_V0_SCRIPTHASH,。
6、friendbooloperator (constCNoDestination a,constCNoDestination b){returntrue;}。
7、CScriptGetScriptForDestination(constCTxDestination dest);。
8、*thetype.Forexample,foraP2SHscript,vSolutionsRetwillcontainthe。
9、**CKeyID:TX_PUBKEYHASHdestination(P2PKH)。
10、解锁脚本的公钥部分()比较简单,获取UTXO对应的秘钥的公钥,然后在公钥的二进制开头加上一个字节的公钥长度,就得到了公钥部分.。
比特币怎么来的1、typedefboost::variantCTxDestination;。
2、structWitnessV0KeyHash:publicuint160。
3、usinguint160::uint160;。
4、。Pay2PublicKeyHash:OpCode.OP_DUP+OpCode.OP_HASH160+UInt8(pubKeyHash.count)+pubKeyHash+OpCode.OP_EQUALVERIFY+OpCode.OP_CHECKSIG。
5、//公钥hash160值结构体。
6、构建原始交易之后,在交易的二进制末尾加上签名类型,一般是0x01000000,然后进行两次sha256,就得到了原始交易的hash.使用UTXO的私钥对原始交易的hash签名,末尾加上编码类型0x01,开头加上一个字节的签名长度编码(注意,编码长度是签名长度加1,因为末尾加了一个字节的编码类型).这样就得到了解锁脚本的签名部分(Sig).。
7、*P2PKH,P2SH,P2WPKH,andP2WSHscripts.。
8、explicitWitnessV0ScriptHash(constuint256 hash):uint256(hash){}。
9、/**Generateamultisigscript.*/。
10、在回答之前,首先整体地了解一下比特币交易的数据结构.一个比特币交易,包含一个或多个UTXO作为输入,通常还包括一个找零UTXO输出.总输入减去总输出的部分作为手续费奖励给矿工.。
极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:
比特币交易中锁定脚本的生成
喜欢 (0)
欢迎光临 顺水外汇EA交易网MT4 (http://waterforex.com/)
Powered by Discuz! X3.2