主页 > imtoken官方最新版 > 《精通比特币》笔记~比特币客户端

《精通比特币》笔记~比特币客户端

imtoken官方最新版 2023-02-05 06:17:00

使用安全密码为 JSON-RPC 接口创建配置文件

rpcuser=bitcoinrpc

rpcpassword=2XA4DuKNCbtZXsBQRRNDEwEY2nM6M4H9Tx5dFjoAVVbK

写入 ~/.bitcoin/bitcoin.conf

在后台模式下运行 bitcoind

比特币守护进程

通过命令行使用比特币核心 JSON-RPC API 接口

比特币-cli 帮助

获取有关 Bitcoin Core 客户端状态的信息

比特币客户端获取信息

警告:getinfo 已弃用,将在 0.16 中完全删除。

在升级到 0.16 之前,项目应该过渡到使用 getblockchaininfo、getnetworkinfo 和 getwalletinfo

钱包设置和加密

加密钱包

bitcoin-cli 加密钱包 foo

解锁钱包

bitcoin-cli walletpassphrase foo 360

钱包备份,明文导出和恢复

创建钱包的备份文件

bitcoin-cli 备份钱包 wallet.backup

重新加载备份文件

bitcoin-cli 导入钱包 wallet.backup

将钱包转储为人类可读的文本文件

bitcoin-cli转储钱包wallet.txt

钱包地址和接收交易

获取其中一个地址

比特币-cli getnewaddress

13Bqx1N77WKSC6ZkFxTmamLNSJDRRL9H51

询问这个地址收到的比特币数量

比特币-cli getreceivedbyaddress 13Bqx1N77WKSC6ZkFxTmamLNSJDRRL9H51 0

整个钱包收到的交易

比特币-cli listtransactions

列出整个钱包的所有地址

bitcoin-cli getaddressesbyaccount“”

至少 minconf 确认的所有交易的总和

比特币-cli getbalance

探索和解码交易

通过交易哈希获取交易

比特币-cli gettransaction 9ca8f969bd3ef5ec2a8685660fdbf7a8bd365524c2e1fc66c309acbae2c14ae3

获取整个交易代码并解码

比特币-cli getrawtransaction 9ca8f969bd3ef5ec2a8685660fdbf7a8bd365524c2e1fc66c309acbae2c14ae3

解码十六进制字符串

bitcoin-cli decoderawtransaction 0100000001d717...388ac00000000

默认情况下比特币核心代码,Bitcoin Core 建立一个数据库,只包含与用户钱包相关的交易。

如果要使用 gettransaction 之类的命令访问所有交易,则需要配置 Bitcoin Core 以构建完整的交易索引比特币核心代码,这可以通过 txindex 选项来实现。

在 Bitcoin Core 配置文件(通常位于安装目录的 .bitcoin/bitcoin.conf 中)中将 txindex 设置为 1。

一旦你改变了这个参数,你需要重新启动bitcoind并等待它重建索引。

探索块

查询块

比特币-cli getblock 000000000000000051d2e759c63a26e247f185ecb7926ed7a6624bc31c2a717b 真

按块高度检索块/获取“创世块”的块哈希

比特币-cli getblockhash 0

000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

区块信息

比特币-cli getblock 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

基于UTXO(未花费交易输出)的创建、签名和提交

查看钱包中之前交易的所有剩余确认支出

bitcoin-cli 列表未花费

未花费输出的详细信息

比特币-cli gettxout 9ca8f969bd3ef5ec2a8685660fdbf7a8bd365524c2e1fc66c309acbae2c14ae3 0

为交易创建一个新地址

比特币-cli getnewaddress 1LnfTndy3qzXGN19Jwscj1T8LR3MVe3JDb

创建交易

bitcoin-cli createrawtransaction '[{"txid" : "9ca8f969bd3ef5ec2a8685660fdbf7a8bd365524c2e1fc66c309acbae2c14ae3", "vout" : 0}]' '{"1LnfTndy3qzXGN19Jwscj1T8LR3MVe3JDb": 0.025, "1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL": 0.0245}'

签名交易

加密钱包必须先解密才能签名,因为签名需要使用钱包中的秘钥

bitcoin-cli walletpassphrase foo 360

bitcoin-cli signrawtransaction 0100000001e34ac1e2baac09c366fce1c2245536bda8...518fa2e

向比特币网络提交新交易

bitcoin-cli senddrawtransaction 0100000001e34ac1e2baac09c366fce1c2245536bda8...c17b346

当使用 senddrawtransaction 命令将交易发布到比特币网络时,它返回交易的哈希值

原文链接

第三章 比特币客户端 | 掌握比特币