#transaction #bitcoin #signed #key #outputs #previous #set

bitcoinrpc-txn

与交易交互的 RPC 工具

2 个版本

0.1.16-alpha.02023年4月2日
0.1.12-alpha.02023年3月4日

#6#previous

MIT 许可证

2MB
7.5K SLoC

bitcoinrpc-txn

这个 Rust crate 是 Bitcoin 系统中 bitcoin-txn 组件的翻译。它提供了与创建、分析、解码和签名比特币交易相关的功能。

注意:此 crate 是从 C++ 直接翻译到 Rust 的 Bitcoin 核心的一个部分。因此,一些函数体可能仍在翻译过程中。请注意,在翻译过程完成后,该系统将成为可测试的。

以下数学思想与该 crate 中的令牌相关

  • construct_transaction:此函数用于构建一个比特币交易,这是一个将比特币在地址之间转移的输入和输出集合。交易的输入是先前交易的未花费输出,输出指定了目的地地址和要转移的金额。交易背后的数学思想是数字签名方案的概念,它允许用户证明他们是特定比特币地址的所有者并授权从该地址转移资金。

  • sign_transaction:此函数用于使用与某个输入相关联的私钥对比特币交易进行签名。数字签名背后的数学思想是使用椭圆曲线密码学创建一对密钥,一个私钥和一个公钥,分别用于签名和验证交易。签名是数学上的证明,证明私钥所有者授权了交易。

  • parse_prevouts:此函数解析来自序列化比特币交易的先前交易输出(prevouts)。prevout 背后的数学思想是交易输入的概念,它指的是先前交易的未花费输出。prevout 包含有关要消耗的交易输出的信息,包括其金额和控制资金的 scriptPubKey。

  • tx_tojson:此函数将比特币交易转换为 JSON 格式。此函数背后的数学思想是使用标准数据格式表示交易,这使得它可以轻松地在不同的软件系统之间传输和处理。

本库中的其他功能,例如 analyzepsbtcombinepsbtgetrawtransactionverifytxoutproof,用于分析、解码和验证比特币交易,与它们相关的直接数学概念不多。

118> 与此子系统相关的 RPC 端点有哪些?

以下 RPC 端点与 bitcoinrpc-txn 子系统相关

  • analyzepsbt
  • combinepsbt
  • combinerawtransaction
  • converttopsbt
  • createpsbt
  • createrawtransaction
  • decodepsbt
  • decoderawtransaction
  • decodescript
  • finalizepsbt
  • getrawtransaction
  • gettxoutproof
  • joinpsbts
  • sendrawtransaction
  • signrawtransactionwithkey
  • testmempoolaccept
  • utxoupdatepsbt
  • verifytxoutproof

这些端点允许用户以各种方式创建、分析和修改交易,例如构建原始交易、签名交易和验证交易证明。

119> 这些功能是什么?你能详细描述一下吗?

当然可以!以下是与 bitcoinrpc-txn 子系统相关的每个 RPC 端点的简要描述

  • analyzepsbt: 分析部分签名比特币交易并提供相关信息。

  • combinepsbt: 将多个部分签名比特币交易合并成一个。

  • combinerawtransaction: 将多个原始交易合并成一个。

  • converttopsbt: 将原始交易转换为部分签名比特币交易。

  • createpsbt: 创建部分签名比特币交易。

  • createrawtransaction: 创建原始比特币交易。

  • decodepsbt: 解码部分签名比特币交易。

  • decoderawtransaction: 解码原始比特币交易。

  • decodescript: 解码比特币脚本。

  • finalizepsbt: 最终化部分签名比特币交易。

  • getrawtransaction: 返回原始比特币交易。

  • gettxoutproof: 返回一个证明,表明交易包含在区块中。

  • joinpsbts: 将多个部分签名比特币交易合并成一个。

  • sendrawtransaction: 将原始比特币交易提交到网络。

  • signrawtransactionwithkey: 使用私钥对原始比特币交易进行签名。

  • testmempoolaccept: 测试原始交易在内存池中的接受情况。

  • utxoupdatepsbt: 使用 UTXO 信息更新部分签名比特币交易。

  • verifytxoutproof: 验证证明是否为交易包含在区块中的有效证明。

  • construct_transaction: 根据一组输入和输出构建比特币交易。

  • parse_prevouts: 解析比特币交易引用的前输出。

  • sign_transaction: 使用一组私钥对比特币交易进行签名。

  • sign_transaction_result_tojson: 将 sign_transaction 调用的结果转换为 JSON 对象。

  • tx_in_error_tojson: 将交易输入错误转换为 JSON 对象。

这些 RPC 端点允许进行各种与构建、分析、解码和签名比特币交易相关的操作。

依赖关系

~108MB
~1M SLoC