有没有办法从钱包中的特定比特币地址发送资金?
Posted
技术标签:
【中文标题】有没有办法从钱包中的特定比特币地址发送资金?【英文标题】:Is there a way to send funds from a specific bitcoin address in a wallet? 【发布时间】:2014-06-13 00:24:22 【问题描述】:Google 的第一个结果给了我 2012 年的答案,所以我想知道现在是否有比“使用军械库”更好的答案?
如果我必须解码原始交易也没关系,如果有人能带我完成这些步骤,我将不胜感激。
提前致谢:)
【问题讨论】:
“2012 年的以下答案”链接可能丢失...:/ 【参考方案1】:我会回答我自己的问题,
这简直难以置信。 (从调试控制台或命令行)
listunspent
生成一个/未使用的输出列表供您使用。 记下您希望使用的每个输出的“txid”、“vout”和“scriptPubKey”。
使用“createrawtransaction”命令,后跟包含您之前选择的输入的 txid 和 vout 的字典列表,然后是您希望将它们发送到的地址(发送到的地址在单个字典中,而不是列表中字典)。
createrawtransaction ["txid":txid,"vout":n,...] address:amount,...
如果您不想全部发送输出(您想自己进行一些更改),则需要在发送字典中包含您控制的地址(从您的钱包或其他地方),因为输出不能是 部分用完了,抱歉。
要支付采矿费,只需留下一些总产出量下落不明,比特币将默认将其用作采矿费(撰写本文时费用为 0.0001)。
如果一切顺利,你应该得到一个十六进制字符串。
使用“signrawtransaction”命令来检查是否有错误,方法是传入新的十六进制字符串,后跟一个字典列表,其中包含我们在这一切开始时得到的 txid、vout 和 scriptPubKey。
signrawtransaction <hex string> ["txid":txid,"vout":n,"scriptPubKey":hex,...]
注意:在较新版本的比特币中,字典列表不是必需的
如果你有一个新的十六进制,在它之后有 "complete" : true 那么一切都很顺利,你现在可以使用 'sendrawtransaction' 命令,然后是你刚刚被广播的更新的十六进制您在比特币网络中新创建的交易。
sendrawtransaction <new hex string>
如果您成功签名但收到 "code":-22,"message":"TX denied" 错误,请参阅下面的脚注。
请注意,它总共只使用了四个命令:
*get (listunspent)
*create (createrawtransaction)
*sign (signrawtransaction)
*send (sendrawtransaction)
简单:)
脚注:
请注意,如果您指定一个异常大的费用,例如 0.5btc(我在测试网上尝试过),当您尝试广播它时,网络将拒绝您的交易,因为它认为您犯了我在我发现的错误实验。
(如果你试图花费比你可用的更多的 BTC,也会出现这种情况。)
最后我将费用设置为 0.001 并且效果很好,here 是我关于这种情况的问题的链接。
【讨论】:
signrawtransaction
已从比特币核心 v0.17 中弃用。应该使用signrawtransactionwithwallet
,因为您使用钱包中的密钥进行签名。 bitcoincore.org/en/doc/0.17.0/rpc/wallet/…【参考方案2】:
另一种可能性是Electrum。在地址选项卡下,右键单击余额非零的一个,然后选择“支出来源”。
如果您没有“地址”选项卡,则必须单击“查看”>“显示地址”。
【讨论】:
谢谢!还修正了错字并添加了帮助文本。在比特币诞生之初,我得到了很多非常微型的交易。删除了所有这些微交易,现在费用减少了 10 倍,另外 0.0001554 BTC 现在永远丢失了......【参考方案3】:您想从哪里发送 BTC。您只需要填写比特币的提款地址。您可以通过相同的流程将您的 BTC 发送至Bitfinex: 填写提现地址 填写要发送的金额。 验证您的付款。 完成。
【讨论】:
以上是关于有没有办法从钱包中的特定比特币地址发送资金?的主要内容,如果未能解决你的问题,请参考以下文章