分类
Uncategorized

如何计算BitcoinJS原始交易的费用?

有一个具有3个输入和2个输出的事务。1输出是收件人,另一个输出是更改地址。我应该如何计算费用并将其应用于产出?
交易
交易费用
原始事务
比特币
分享
改进这个问题
跟随
编辑时间:5月5日15:02
监控化学品
911355金徽章2222银徽章5454铜徽章
5月20日13:24问
拉贾比阿米罗生
1111青铜徽章
4
这能回答你的问题吗?使用bitcoinjs指定费用金额–MCCCS 5月5日15:01
你的问题有点误会。如果你在搜索“交易费”后阅读了一些热门内容,我想你会问一个更好的问题。你的意思可能是,“如何在BitcoinJS原始事务中设置费用?”但即使这样,你也不会意识到费用只是输入和输出之和之间的差异。或者你想在选择费用时征求意见(bitcoin.stackexchange.com/questions/64443/…)—Dave Scotese 5月29日1:01
添加评论
1个答案
0
发送费用是所有输入值和所有输出值的总和之差。如果你只看一个TX,你可以看到所有的输出值,但是你怎么得到输入值呢?它们不包括在TX本身中。您必须做的是查找每个TX输入所使用的UTXO,以及它们的总值(用于跟踪和处理所有输入硬币的数据结构称为“视图”)。
请注意,没有“向输出应用费用”。TX没有额外的费用字段或属性,费用本身也不会占用整个输出。
如果您正在构建一个输入值正好等于输出值的TX,您可以通过减少其中一个输出值来“包含”费用。
分享
改进这个答案
跟随

时光素材-香车美女  (187)blockchainBTC比特币区块链www.qkl91.com

分类
Uncategorized

在electrum中生成BTC旧地址的命令是什么?

什么命令在electrum中生成BTC旧地址?
下面是一个示例命令:
createnewaddress()
比特币核心
驻极体
分享
改进这个问题
跟随
21小时前问的
坝驿
5555青铜徽章
添加评论
1个答案
2
创建新地址的命令与问题中提到的相同:
createnewaddress()
您只能在带有“标准”种子的钱包中创建P2PKH(旧)地址:
创建标准种子的命令:
制作种子(种子类型=“标准”)
对于带有bech32地址的钱包,“standard”可以替换为“segwit”
使用上述命令返回的种子创建新钱包:
文件->新->标准钱包->我已经有一个种子了
分享
改进这个答案
跟随
18小时前回答的
普拉扬克
378911金徽章66银徽章1818铜徽章
文件->新->标准钱包->我已经有一个种子不工作默认是bech32地址不能更改为传统或脚本地址14小时前
如果您输入“标准”种子,您将在种子类型中看到标准;如果您输入“segwit”种子,您将在种子类型中看到segwit–Prayank 14小时前
谢谢,这很管用13小时前
添加评论

时光素材-香车美女  (186)blockchainBTC比特币区块链www.qkl91.com

分类
Uncategorized

如何从app.thorswap.finance(一个本地BTC跨链交换系统)获取比特币私钥?

我正在测试app.thorswap.finance以获得本地比特币。据说Thorchain是一种跨链交换服务,没有集中的参与方。在这个应用程序中,我生成了一个密钥库文件,它附带了一个比特币地址。我假设当我把BTC发送到这个地址时,它在我的控制下,直到我想把它换成另一个硬币。如何访问我的密钥库生成的app.thorswap.finance上的比特币私钥?
私钥
恢复私钥
索查恩
交叉链互换
分享
改进这个问题
跟随
5月20日20:04问
帕托希パトシ
98631414金徽章7070银徽章134134铜徽章
添加评论
1个答案
0
钱包选项卡>点击文件夹图标按钮“查看短语”
去https://github.com/xchainjs/xchainjs-lib/blob/master/packages/xchain-bitcoin/src/client.ts. 用你想要的货币代替比特币。
用Ctrl+F在页面上搜索“RootDerivationPaths”。
然后你会发现类似的东西(这个例子是针对比特币的):
根派生路径={
主网:`84’/0’/0’/0/`,
测试网:`84’/1’/0’/0/`,
},
删除最后一个/0/,添加m/(例如m/84’/0’/0’)。
导入您计算的派生路径和Electrum中的短语
分享
改进这个答案
跟随

时光素材-香车美女  (185)blockchainBTC比特币区块链www.qkl91.com

分类
Uncategorized

为什么WIF包含网络?

当从私钥创建WIF时,在开始散列和添加校验和之前,必须在十六进制字符串的开头插入一个特殊字节:对于MainNet为0x80,对于TestNet为0xef。
WIF中有没有特别的原因?如果只做散列运算并在没有网络字节的情况下添加校验和,不是更好(更通用)吗?这背后有什么意义,WIF机制的创始人为什么决定走这条路?
只是为了我的理解。。。
私钥
钱包导入格式
分享
改进这个问题
跟随
22小时前问的
汉海因茨
4111青铜徽章
新贡献者
添加评论
2个答案
4
作为WIF格式的最初作者,老实说:这个问题我从来没有想到过,但我认为它确实有意义。
当时唯一存在的Base58Check格式是mainnet和testnet的P2PKH地址格式,它有一个网络字节。为了创建WIF格式,我只是修改了它以设置版本字节的高位,并将有效负载从公钥散列更改为私钥。
请注意,这是在种子短语、确定性钱包或备用币出现之前。有人想在多个网络上重用同一个密钥的想法并不适用。
回想起来,我认为这是一个合理的选择。您不应该跨网络(或一般应用程序)重用密钥。
分享
改进这个答案
跟随
16小时前回答的
彼得·维尔
68.1k88金徽章146146银徽章223223铜徽章
添加评论
1
WIF代表Wallet Import Format,它是从钱包导入和导出密钥的标准化方案。因此,包含诸如网络字节之类的元数据是有意义的,这样钱包就知道什么网络是私钥,而不是为每个支持的网络尝试私钥。如果您只想编码密钥本身,而不想编码元数据,那么可以使用十六进制进行编码。
分享
改进这个答案
跟随

时光素材-香车美女  (184)blockchainBTC比特币区块链www.qkl91.com

分类
Uncategorized

是否可以捕获网络事件而不占用整个节点?提问

你可能会觉得我的问题相当不切实际或胡说八道。但我必须在这里问。
我想捕获通过主网络传播的所有事务,并检测是否有新的块被挖掘。我不想成为一个完整的节点或spv节点。从技术上讲,我知道这正是所有full/spv节点时不时所做的。然而,我找不到一个很好的参考来教我怎么做。
这是一种方法吗?任何技术资源都将不胜感激。
客户
网络
分享
改进这个问题
跟随
两天前问的
达伍德法拉哈蒂
12344青铜徽章
新贡献者
这是可能的,但你必须相信别人昨天的普拉扬克
@Prayank听起来不错。请你详细说明一下好吗Dawood Falahati昨天
添加评论
2个答案
2
希望捕获通过主网络传播的所有事务,并检测是否有新的块被挖掘。我不想成为一个完整的节点或spv节点。从技术上讲,我知道这正是所有full/spv节点时不时所做的。然而,我找不到一个很好的参考来教我怎么做。
显然,完整节点和SPV节点必须从某处获取它们的信息。而某个地方只是P2P网络上的其他节点。
P2P协议是节点用来相互通信的协议。有一些关于https://developer.bitcoin.org/devguide/p2p_network.html,一些关于https://en.bitcoin.it/wiki/Protocol_documentation). 它的现代变化被提议为BIPs(https://github.com/bitcoin/bips),通常是向后兼容的更改,仅在支持它的客户端之间使用。
具体地说,事务通过首先使用“inv”消息宣布它们的散列来转发。然后,接收方选择从哪个对等方获取完整的事务数据,并发送“getdata”消息。然后,选定的对等方以“tx”消息进行响应。还有其他可用的机制,例如旧的(并且基本上已经废弃的)BIP37事务过滤和新的BIP157客户端过滤。
对于积木来说,要复杂一些。该序列首先使用“getblocks”请求块信息,然后用“inv”对块进行响应,“getdata”请求完整数据,并用“block”对完整块本身进行响应。BIP152压缩块提供了一种更有效的机制,使接收方能够避免在已经拥有的块中接收事务。BIP130 sendheaders支持使用“header”消息而不是“inv”消息来宣布块的替代方法。
那么,完整节点与SPV节点或其他节点的区别是什么呢?他们执行的验证级别。完整节点将完全验证它接收到的所有块和事务。如果你不想这样做,就不要这样做-如果你愿意相信你所联系的人。你可以自己实现P2P协议,或者使用现有的实现(很多语言中都有),连接到任何你喜欢的对等点,如果你做得对,他们会开始给你一个块和事务流。
分享
改进这个答案
跟随
16小时前回答的
彼得·维尔
68.1k88金徽章146146银徽章223223铜徽章
添加评论
2
中微子是轻客户端和改进版的SPV节点:https://bitcoin-s.org/docs/getting-setup#neutrino-节点
有其他方法可以获得有关事务和块的信息,但您必须信任其他人:
对一个或多个块资源管理器使用API。例子:https://mempool.space/api
请少数运行节点的人广播此信息。示例:我们已经在某种程度上信任管理DNS种子的人员,这样他们就可以使用自己的节点广播有关事务和块的信息。
对整个族使用一个节点。示例:设置一个完整的节点,供本地网络中的每个人使用。如果你和可以信任的家庭成员住在一起,而且你已经在家里的所有设备上使用了相同的Wi-Fi。

时光素材-香车美女  (183)blockchainBTC比特币区块链www.qkl91.com

分类
Uncategorized

如何实现位于比特币区块链文件夹之外的多个钱包文件夹?

经过大量的研究,我找不到任何解决方案,这个看似简单的比特币核心应用程序的实现。
以下是我试图实现的目标:在一台计算机上运行一个完整的节点需要多达400GB的驱动器存储空间。看来,经过我的研究,如果一个人想从同一台电脑上访问多个钱包,那么每个钱包都必须从一个不同的文件夹中运行,否则比特币核心会做出奇怪的行为,拒绝启动,或者要求用户创建一个新的钱包。除此之外,还要求每个钱包使用不同的快捷方式启动,这是完全可以接受的。
我正在运行一台Windows7计算机,它可以在辅助数据硬盘上存储1TB的数据。第一个驱动器是SSD,严格用于操作系统和软件安装。持有整个比特币区块链是可以的,但持有2个或3个副本是不可能的,而且会有点可笑,因为X乘以400GB的相同数据是没有意义的。我想做的是能够通过自己的快捷方式推出一个不同的钱包。经过几次实验,我发现这样做的唯一方法是每次我想运行一个钱包时,我必须将一大堆与该钱包相关的文件替换到\bitcoin文件夹中。这是一项乏味的任务,也是一种相对不安全的做事方式。这种做法容易出错,可能会有丢失一些比特币的风险。
我试过捷径选项
–walletdir=D:\所有钱包\MyWalletA\
但这不起作用的原因。参数被完全忽略而不产生任何错误。我发现唯一可行的方法是将整个区块链3X保存到3个不同的文件夹中,并用适当的快捷方式启动其中任何一个文件夹。一个需要1.2TB的选项没有实际意义,因为它占用了太多的硬盘内存。
所以问题是:
我如何存储一个位于FolderA的与D:\比特币完全不同的钱包\
(如果D:\比特币\将是完整的区块链位置)?
如果我能做到这一点,那么我也可以创建任意数量的FolderB,FolderC,FolderD来存放我不同的钱包,当我需要做交易时,我可以启动任何一个钱包(不是同时启动)。所有这些文件夹都可以存储钱包文件,但不能存储整个区块链。谢谢你的帮助
比特币核心
块链
钱包.dat
分享
改进这个问题
跟随
4月26日19:03问
弗雷德·凯洛
12311银徽章66铜徽章
1
请告诉我这是否解决了您的问题:bitcoin.stackexchange.com/a/103317–Prayank 4月26日22:25
@普拉扬克,这个建议解决不了问题。我用“-datadir=D:\SomeFolder”做了实验,效果很好。问题仍然是wallet.dat文件必须位于D:\SomeFolder中,比特币核心才能正常打开。如果钱包里没有比特币核心,就会迫使你创建一个新的。我肯定有解决办法。还在找。谢谢–Fred Cailloux 4月27日15:27
您可以同时装入多个钱包15小时前的皮特·维尔
添加评论
1个答案

围绕钱包位置限制的一项工作是,在\bitcoin文件夹中可以有一个子文件夹,例如,\AllWallets。在这个子文件夹中可以有许多子文件夹,其中包含每个钱包所需的文件。这些文件是Wallet.dat、.walletlock和db.log
当bitcoin-qt.exe在没有钱包的情况下启动时,它将提醒用户创建一个新钱包或使用“文件>打开钱包”菜单,并提供打开位于每个子文件夹中的任何子文件夹钱包文件。例如,可能有3个子文件夹名为\JackWallet、\AlfredWallet和\JoeWallet。
用户可以根据需要打开任意多个钱包。选择框将出现在右上角的比特币qt GUI中。此选择器将提供与任何一个当前打开的钱包。这样,用户能够利用其选择的钱包进行支付或任何其他操作变得非常方便。选择的变化很快,看起来很实用。
为了熟悉这个新发现的特性,还需要更多的实验。虽然这并没有解决钱包位置不在\bitcoin文件夹中的限制,但它确实使GUI更方便地使用多个钱包。
分享
改进这个答案
跟随

时光素材-香车美女  (182)blockchainBTC比特币区块链www.qkl91.com

分类
Uncategorized

如果有人有商业账户想给我寄比特币,我的钱包里需要最低存款额吗?

如果他们有一个金额很高的商业账户,我需要至少£他们能在我的550里转移吗?
欺诈
分享
改进这个问题
跟随
5月25日15:19编辑
墨奇♦
54.3K33232金徽章150150银徽章469469铜徽章
5月25日13:23问
霍莉
311青铜徽章
新贡献者
相关网站:bitcoin.stackexchange.com/q/103891/5406–Murch♦ 5月25日15:19
添加评论
1个答案
2
不,任何声称这样的东西都是骗局。
分享
改进这个答案
跟随

时光素材-香车美女  (181)blockchainBTC比特币区块链www.qkl91.com

分类
Uncategorized

开发比特币POS(支付页面)-如何识别交易

这可能是一个基本问题,但我找不到答案。
我们正在为销售点开发BTC支付流程。我们已经设法建立这个罚款,并可以提出要求(二维码)支付金额在BTC。例如0.0001 BTC
然后,我们检查区块链上金额为0.0001 BTC的地址上的等价交易。
这很管用。
但似乎不可靠。如果在同一时间有多个相同金额的交易呢。我真的希望能够插入一个唯一的标识符/订单号或备忘录到二维码请求,然后被传递到交易。这会将请求链接到具有唯一id的付款。有没有办法做到这一点?如果没有,似乎很奇怪?或者有没有另一个明显的方式,我错过了?
我们正在使用https://api.blockcypher.com to 获取交易详细信息。如下所示。虽然钱包和QR生成器允许您添加这样的参数,但似乎没有任何类型的“memo”参数。
{
“tx_hash”:“8bbe058b46f2f9a7e1709ca4a3ff731ba227d23f2edf11eb8710dfcd6b1e502”,
“块高”:685568,
“tx\u输入\u n”:-1,
“tx\u输出\u n”:0,
“值”:16692,
“参考余额”:3417334,
“花费”:错误,
“确认”:4,
“确认”:“2021-05-30T22:09:51Z”,
“双倍消费”:错误
},
交易
块链
事务id
分享
改进这个问题
跟随
13小时前问的
泪囊学
10122青铜徽章
新贡献者
添加评论
1个答案

唯一正确的方法是为每个预期的付款生成一个新的地址,然后等待,直到您收到该地址上的金额。
分享
改进这个答案
跟随
13小时前回答的
彼得·维尔
68.1k88金徽章146146银徽章223223铜徽章
1
是来写这个的。为每张发票使用一个新地址墨奇♦ 13小时前
谢谢。。。我想那是我们错过的一整片区域。目前的假设是,我们存储一个固定的公共广播。是否有简单/免费的api用于动态生成多个加法13小时前
1
大多数钱包软件甚至会让你很难重用地址。当你要求一个地址,你会得到一个新的。像BTCPayServer这样的集成POS系统也可以做到这一点11小时前的皮特·维尔
添加评论
你的答案

时光素材-香车美女  (180)blockchainBTC比特币区块链www.qkl91.com

分类
Uncategorized

在比特币核心中,紧凑块是否预先填充的不仅仅是币基?

n的“How are expected missing transactions selected to immediate forward?”部分https://bitcoincore.org/en/2016/06/07/compact-blocks-faq/ 它声明“为了减少在初始实现中需要检查的内容的数量,只有coinbase事务将被预先发送。”
我发现https://github.com/bitcoin/bitcoin/blob/master/src/blockencodings.cpp#L23 它仍然将预填充比coinbase更多的内容列为待办事项。我想知道这是不是真的正确,还是一个错误的待办事项。如果没有,是否有人在开发该功能,或者是否有从未实现该功能的原因?
比特币核心
网络
点对点
事务传播
压缩块
分享
改进这个问题
跟随
5月25日23:11编辑
墨奇♦
54.3K33232金徽章150150银徽章469469铜徽章
5月25日23:10问
杰克·罗斯特霍恩
3122青铜徽章
新贡献者
添加评论
1个答案
2
在实现紧凑块时,添加更高级的事务预填充预测可能是一个TODO,但据我所知,从那以后就没有人做过这方面的工作。
值得指出的是,紧凑块在实践中(以及在非敌对情况下)效果非常好。在我自己的长时间运行的节点上,截至目前,在过去1000个块(约1周)中,944个被重建,而不需要任何额外的事务。在56个不属于这种情况的国家中,只有5个国家缺少3笔以上的交易。
分享
改进这个答案
跟随

时光素材-香车美女  (18)blockchainBTC比特币区块链www.qkl91.com

分类
Uncategorized

同行是否宣传他们的连锁经营?

f是的,这就是节点决定对等节点具有头文件第一次下载的最佳链的方式吗?
同步
块标题
同龄人
分享
改进这个问题
跟随
问5月24日23:00
保罗
3111青铜徽章
添加评论
1个答案
0
实际上,他们没有。
寻找最佳头链的协议相当简单:一个节点被要求在节点知道的最后一个已知的块头之后获得2000个头,而该节点和该节点有共同点。当这些邮件头到达时,会要求它提供更多信息。此过程重复进行,直到达到超时或接近当前的时间点。当后者发生时,所有对等方都会被要求提供它们的头。
当然,同时,当对等方(所有的对等方)声称有用于头的块时,他们也会被要求提供实际的块,我们相信这可能是通往最佳链的路径。如果同龄人不能提供这些,他们就会失去联系。如果它们提供了无效的块,它们可能被标记为“不鼓励”(可重放),如果适用,该块也可能被标记为永久无效。如果发生这种情况,提供从无效块派生的其他块或头的对等方也将受到惩罚。
有一些关于反向头同步的想法可能更接近你的建议。据我所知,这在任何地方都没有实现。
分享
改进这个答案
跟随

时光素材-香车美女  (179)blockchainBTC比特币区块链www.qkl91.com