主页 > imtoken老版本 > 比特币客户端命令1.4.2 比特币核心程序:中本聪客户端(三)

比特币客户端命令1.4.2 比特币核心程序:中本聪客户端(三)

imtoken老版本 2023-09-26 05:10:50

1.4.2 比特币核心程序:中本聪客户端(三)

至此,我们可以发现bitcoin-qt、bitcoind和bitcoin-cli可以读取相同格式的配置文件,命令参数也相同。 具体支持的参数有很多,大家可以自行查看。 另外,比特币中的很多函数调用都是通过RPC命令提供的,比如区块信息查询、交易查询、多重签名使用等,所以想要了解完整函数调用的朋友可以详细了解一下这些RPC命令的使用方法。 ,这里我也推荐一些不错的网站供大家学习和使用:

:方便检索各种比特币网络的数据;

: 基于网络的比特币 RPC 命令用法。

(4) 比特币-tx.exe

比特币客户端程序_外国的比特币便宜中国的比特币贵为什么?_客户怎么找我买比特币

比特币分叉对比特币的影响_比特币之父能不能随意制造比特币_比特币客户端命令

这是一个独立的实用程序,可用于创建、解析和编辑比特币交易。 当我们平时使用比特币系统时比特币客户端程序,使用上面介绍的钱包功能就足够了,但是如果需要单独查看或创建交易数据,就可以使用这个工具。 既然是用来操作交易的,那就试试吧。 比特币交易本质上是一段二进制数据。 让我们随机找一块,看看 bitcoin-tx 能解析成什么。 为方便起见,将二进制交易数据转换为十六进制格式显示。 如下:

  1. 0100000001e0772cd81114d0993922a280e2b29209d6c6c5d2f22d807018d1ef0d55cfe4041c0  
  2. 000006a473044022008650b496ea573a2d42efbcbfb49288ab3c7f9968a1fa6072155a028a4de  
  3. b39e02201b2dd03307fcd1fbb2f9928a8904d50a84ae9d600986a3a8a125fe248b4faf1001210  
  4. 354eb6c85025f3abecde8236e86aabf6b819a72154e69d39f7ae591a92436c166ffffffff01d9  
  5. 38890c000000001976a914fe5d8413d80c3d3f9b975f45990cf432455b13ef88ac00000000 

这是一笔交易交易的数据。 接下来,让我们解析这些数据并将其转换为人类可读的格式。 为了便于阅读,我们将其转换为 JSON 格式。 命令如下:

外国的比特币便宜中国的比特币贵为什么?_比特币客户端程序_客户怎么找我买比特币

  1. bitcoin-tx -json  
  2. 0100000001e0772cd81114d0993922a280e2b29209d6c6c5d2f22d807018d1ef0d55cfe4041c0  
  3. 000006a473044022008650b496ea573a2d42efbcbfb49288ab3c7f9968a1fa6072155a028a4de  
  4. b39e02201b2dd03307fcd1fbb2f9928a8904d50a84ae9d600986a3a8a125fe248b4faf1001210  
  5. 354eb6c85025f3abecde8236e86aabf6b819a72154e69d39f7ae591a92436c166ffffffff01d9  
  6. 38890c000000001976a914fe5d8413d80c3d3f9b975f45990cf432455b13ef88ac00000000 

比特币分叉对比特币的影响_比特币客户端命令_比特币之父能不能随意制造比特币

执行后可以得到如下输出:

  1. {  
  2.     "txid": "2aff308e3e1a9b251ecb701762f6f2c1d28952fe6d0d94efc78880e8a62d2cbb",  
  3.     "hash": "2aff308e3e1a9b251ecb701762f6f2c1d28952fe6d0d94efc78880e8a62d2cbb",  
  4.     "version": 1,  
  5.     "locktime": 0,  
  6.     "vin": [  
  7.         {  
  8.             "txid":  
  9. "04e4cf550defd11870802df2d2c5c6d60992b2e280a2223999d01411d82c77e0",  
  10.             "vout": 28,  
  11.             "scriptSig": {  
  12.                 "asm": "3044022008650b496ea573a2d42efbcbfb49288ab3c7f9968a1fa6072155a028a4deb39e02201b2dd03307fcd1fbb2f9928a8904d50a84ae9d600986a3a8a125fe248b4faf10[ALL] 0354eb6c85025f3abecde8236e86aabf6b819a72154e69d39f7ae591a92436c166",  
  13.                 "hex": "473044022008650b496ea573a2d42efbcbfb49288ab3c7f9968a1fa6072155a028a4deb39e02201b2dd03307fcd1fbb2f9928a8904d50a84ae9d600986a3a8a125fe248b4faf1001210354eb6c85025f3abecde8236e86aabf6b819a72154e69d39f7ae591a92436c166"  
  14.             },  
  15.             "sequence": 4294967295  
  16.         }  
  17.     ],  
  18.     "vout": [  
  19.         {  
  20.             "value": 2.10319577,  
  21.             "n": 0,  
  22.             "scriptPubKey": {  
  23.                 "asm": "OP_DUP OP_HASH160 fe5d8413d80c3d3f9b975f45990cf432455b13ef OP_EQUALVERIFY OP_CHECKSIG",  
  24.                 "hex": "76a914fe5d8413d80c3d3f9b975f45990cf432455b13ef88ac",  
  25.                 "reqSigs": 1,  
  26.                 "type": "pubkeyhash",  
  27.                 "addresses": [  
  28.                     "1QBxfKsz2F7xwd66TwMj5wEoLxCQghy54c"  
  29.                 ]  
  30.             }  
  31.         }  
  32.     ],  
  33.     "hex": "0100000001e0772cd81114d0993922a280e2b29209d6c6c5d2f22d807018d1ef0d55cfe4041c0000006a473044022008650b496ea573a2d42efbcbfb49288ab3c7f9968a1fa6072155a028a4deb39e02201b2dd03307fcd1fbb2f9928a8904d50a84ae9d600986a3a8a125fe248b4faf1001210354eb6c85025f3abecde8236e86aabf6b819a72154e69d39f7ae591a92436c166ffffffff01d938890c000000001976a914fe5d8413d80c3d3f9b975f45990cf432455b13ef88ac00000000"  

外国的比特币便宜中国的比特币贵为什么?_比特币客户端程序_客户怎么找我买比特币

通过输出信息,我们很容易看到其中包含的各种数据组件。 例如,txid是指交易的哈希值,与哈希数据项相同; vin指的是交易的输入部分; vout指的是交易的输出部分。 这里不解释每一项的含义。 第8章通过模拟比特币搭建最简单的区块链系统,并进行具体介绍。 通过使用这个工具,除了分析交易交易数据外,比特币客户端命令还可以创建交易交易。 读者朋友们可以试一试。

(5) test_bitcoin.exe

比特币客户端命令_比特币分叉对比特币的影响_比特币之父能不能随意制造比特币

这是比特币程序bitcoind的单元测试工具,与程序开发相关。 另外其实还有一个针对bitcoin-qt的单元测试工具test_bitcoin-qt。 普通用户一般不会使用这些工具。 展开细节。

外国的比特币便宜中国的比特币贵为什么?_客户怎么找我买比特币_比特币客户端程序

2.客户端逻辑结构

通过上面的介绍,我们了解了中本聪客户端程序的基本组成。 为了让大家更清楚的了解,我们来看一下中本聪客户端的逻辑结构中包含的功能模块,如下图所示:

比特币之父能不能随意制造比特币_比特币分叉对比特币的影响_比特币客户端命令

图中四个功能模块共同构成一个比特币程序结构比特币客户端程序,称为全节点,其中“挖矿”部分用虚线标出,因为中本聪客户端不包含挖矿功能。 我的是另一个单独的程序。 我们已经看到了钱包的功能。 主要用于管理用户密钥,提供转账操作等功能,属于比特币前端功能。 其实钱包功能是可以独立的,特意提供了一个独立的钱包程序。 这部分的解释将在后面的章节中详细介绍。 接下来,我们主要描述“全区块链”和“网络路由”部分。 前面说了钱包只是前端功能,那么比特币的后端功能是什么呢? 见下文。

外国的比特币便宜中国的比特币贵为什么?_比特币客户端程序_客户怎么找我买比特币

(1) 完整的区块链

中本聪客户端维护着完整的区块链账本数据,因此无需任何外部调用即可独立验证所有交易。 当然,其他一些节点只保留区块链的一部分(如区块头),可以通过一种称为“简单支付验证”(SPV)的方法完成支付验证。 这样的节点被称为“SPV 节点”。 除了中本聪客户端外,部分挖矿节点还保留了区块链数据的完整副本,而部分参与矿池挖矿的节点属于轻量级节点,必须依赖矿池服务器维护的全节点进行挖矿。 工作。 维护完整区块链数据的节点非常重要。 比特币网络之所以能够成为一个可信的去中心化网络,就是依赖于这些全节点。 现在,很多场合都提供了很多轻量级以方便使用。 节点(如轻钱包等),但是这些轻量级节点的正常使用只能通过全节点来完成,这是一种依赖。 如果网络中维护完整区块链数据的节点越来越少,比特币网络无论是在性能还是安全方面都会受到影响。

(2) 网络路由

比特币分叉对比特币的影响_比特币之父能不能随意制造比特币_比特币客户端命令

比特币网络属于P2P网络架构,P2P也就是点对点的意思。 相比之下,“客户端-服务器”架构有一个提供服务功能的中央服务器,其他客户端通过调用服务器的功能来执行操作。 ,比如我们平时使用的微信、支付宝、网银等,如果提供商的服务器被关闭,这些软件将根本无法使用。 在对等网络中,各个节点共同提供网络服务,没有所谓的中央服务器。 因此,对等网络的网络体系结构中没有层次结构。 人人平等,各节点对外提供服务。 同时,它也在使用网络中其他节点提供的服务。 让'