本文包含完整的超过100个比特币命令,分为区块链管理、节点控制、挖矿出块、交易编解码等7个大类,可以在使用bitcoin-cli管理bitcoin core节点时作为比特币命令的速查手册利用。
1、比特币命令:区块链数据管理
区块链数据管理类的比特币命令,主要用于管理比特币节点本地的区块链数据。例如查询指定的区块:
~$ bitcoin-cli getblock 00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048
结果如下:
{
"hash": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048",
"confirmations": 447014,
"strippedsize": 215,
"size": 215,
"weight": 860,
"height": 1,
"version": 1,
"versionHex": "00000001",
"merkleroot": "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098",
"tx": [
"0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098"
],
"time": 1231469665,
"mediantime": 1231469665,
"nonce": 2573394689,
"bits": "1d00ffff",
"difficulty": 1,
"chainwork": "0000000000000000000000000000000000000000000000000000000200020002",
"previousblockhash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
"nextblockhash": "000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd"
}
区块链数据管理类的的比特币命令共20个,速查清单如下:
- GetBestBlockHash: 返回最优链上最近区块的哈希
- GetBlock: 返回具有指定哈希的区块
- GetBlockChainInfo: 返回区块链当前状态信息
- GetBlockCount: 返回本地最优链上的区块数量
- GetBlockHash: 返回本地最有区块链上指定高度区块的哈希
- GetBlockHeader: 返回指定区块头
- GetChainTips: 返回每个本地区块链的最高位区块(tip)信息
- GetDifficulty: 返回POW难度
- GetMemPoolAncestors: 返回交易池内指定交易的所有祖先
- GetMemPoolDescendants: 返回交易池内指定交易的所有后代
- GetMemPoolEntry: 返回交易池内指定交易的池数据
- GetMemPoolInfo: 返回交易池信息
- GetRawMemPool: 返回交易池内的所有交易
- GetTxOut: 返回指定交易输出的详细信息
- GetTxOutProof: 返回一个或多个交易的证明数据
- GetTxOutSetInfo: 返回UTXO集合的统计信息
- PreciousBlock:
- PruneBlockChain: 对区块链执行剪枝操作
- VerifyChain: 验证本地区块链的每个记录
- VerifyTxOutProof: 验证交易输出证明
2、比特币命令:节点控制
节点控制类的比特币命令主要用于管理bitcoin core节点,例如安全关闭节点:
~$ bitcoin-cli stop
结果如下:
Bitcoin server stopping
节点控制类的比特币命令共3个,速查清单如下:
3、比特币命令:挖矿出块操作
挖矿出块类的比特币命令主要用于挖矿相关的操作,例如生成新的比特币区块:
~$ bitcoin-cli generate 2 500000
结果如下:
[
"36252b5852a5921bdfca8701f936b39edeb1f8c39fffe73b0d8437921401f9af",
"5f2956817db1e386759aa5794285977c70596b39ea093b9eab0aa4ba8cd50c06"
]
挖矿出块类的比特币命令共7个,速查清单如下:
- Generate: 生成区块
- GenerateToAddress: 生成区块并将新生成的比特币转入指定地址
- GetBlockTemplate: 返回节点模板
- GetMiningInfo: 返回挖矿相关信息
- GetNetworkHashPS: 返回估算的全网哈希速率
- PrioritiseTransaction: 交易优先权
- SubmitBlock:提交区块
4、比特币命令:P2P网络管理
P2P网络管理类的比特币命令主要用于管理bitcoin core节点的P2P连接,例如添加新的节点、断开已连接的节点、或者查看所有已连接的节点等。
P2P网络管理类的比特币命令共12个,速查清单如下:
- AddNode: 添加节点
- ClearBanned: 清理禁止的节点
- DisconnectNode: 断开与指定节点旳连接
- GetAddedNodeInfo: 返回新增节点的信息
- GetConnectionCount: 返回与其他节点旳连接总数量
- GetNetTotals: 返回网络流量统计信息
- GetNetworkInfo: 返回节点的网络连接信息
- GetPeerInfo: 返回所连接其他节点旳信息
- ListBanned: 返回所有被禁止的IP或子网
- Ping: 向所有连接的节点发送p2p的pin报文
- SetBan: 管理禁止访问清单
- SetNetworkActive: 禁止/启用P2P网络
5、比特币命令:交易编解码与签名
交易编解码类的比特币命令主要用于比特币裸交易的操作,例如广播一个已经签名的裸交易:
~$ bitcoin-cli sendrawtransaction 01000000011da9283b4ddf8d\
89eb996988b89ead56cecdc44041ab38bf787f1206cd90b51e000000006a4730\
4402200ebea9f630f3ee35fa467ffc234592c79538ecd6eb1c9199eb23c4a16a\
0485a20220172ecaf6975902584987d295b8dddf8f46ec32ca19122510e22405\
ba52d1f13201210256d16d76a49e6c8e2edc1c265d600ec1a64a45153d45c29a\
2fd0228c24c3a524ffffffff01405dc600000000001976a9140dfc8bafc84198\
53b34d5e072ad37d1a5159f58488ac00000000
输出结果如下:
f5a5ce5988cc72b9b90e8d1d6c910cda53c88d2175177357cc2f2cf0899fbaad
交易编解码类的比特币命令共7个,速查清单如下:
- CreateRawTransaction: 创建未签名的序列化交易
- FundRawTransaction: 向裸交易添加新的UTXO
- DecodeRawTransaction: 解码指定的裸交易
- DecodeScript: 解码指定的P2SH赎回脚本
- GetRawTransaction: 返回指定的裸交易
- SendRawTransaction: 验证并发送裸交易到P2P网络
- SignRawTransaction: 签名裸交易
6、比特币命令:辅助工具
辅助工具类的比特币命令主要提供一些辅助的功能,例如签名消息验证:
~$ bitcoin-cli -testnet verifymessage \
mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe \
IL98ziCmwYi5pL+dqKp4Ux+zCa4hP/xbjHmWh+Mk/lefV/0pWV1p/gQ94jgExSmgH2/+PDcCCrOHAady2IEySSI= \
'Hello, World!'
输出结果如下:
true
辅助工具类的比特币命令共6个,速查清单如下:
- CreateMultiSig: 创建P2SH多重签名地址
- EstimateFee: 估算交易费率
- EstimatePriority: 估算交易的优先级
- GetMemoryInfo: 返回内存使用情况
- ValidateAddress: 验证指定的地址
- VerifyMessage: 验证签名的消息
7、比特币命令:钱包操作
钱包操作类的比特币命令主要用于管理bitcoin core 内置的层级密钥钱包,例如创建新的地址:
~$ bitcoin-cli -testnet getnewaddress
输出结果如下:
mft61jjkmiEJwJ7Zw3r1h344D6aL1xwhma
钱包操作类的比特币命令共46个,速查清单如下:
- AbandonTransaction: 放弃指定交易
- AddWitnessAddress: 添加见证地址
- AddMultiSigAddress: 添加P2SH多重签名地址
- BackupWallet: 备份钱包
- BumpFee: 替换未确认交易并提升手续费
- DumpPrivKey: 导出指定私钥
- DumpWallet: 导出钱包
- EncryptWallet: 加密钱包
- GetAccountAddress: 返回指定账户的当前地址
- GetAccount: 返回指定地址关联的账户
- GetAddressesByAccount: 按账户分组列出地址
- GetBalance: 返回钱包账户余额
- GetNewAddress: 返回一个新的地址用于接收支付
- GetRawChangeAddress: 返回新的找零地址
- GetReceivedByAccount: 返回指定账户的收入情况
- GetReceivedByAddress: 返回指定地址的收入情况
- GetTransaction: 返回指定的钱包交易的详情
- GetUnconfirmedBalance: 返回钱包全部未确认收入总额
- GetWalletInfo: 返回钱包信息
- ImportAddress: 导入地址或公钥脚本
- ImportMulti: 导入多个地址或公钥脚本
- ImportPrunedFunds:
- ImportPrivKey: 导入私钥
- ImportWallet: 导入钱包
- KeyPoolRefill: 密钥池填充
- ListAccounts: 返回钱包内账户及对应余额
- ListAddressGroupings: 按地址列出余额
- ListLockUnspent: 列出锁定的UTXO
- ListReceivedByAccount: 按账户列出收到的比特币
- ListReceivedByAddress: 列地址列出收到的比特币
- ListSinceBlock: 列出指定区块之后发生的与钱包有关的交易
- ListTransactions: 列出最近指定数量的与钱包有关的交易
- ListUnspent: 返回钱包内的UTXO
- LockUnspent: 暂时性锁定/解锁指定的UTXO
- Move: 链下转账
- RemovePrunedFunds:
- SendFrom: 使用指定的本地账户向指定的比特币地址转账
- SendMany: 创建并广播一个包含多个输出的交易
- SendToAddress: 向指定地址发送比特币
- SetAccount: 将指定地址与账户关联
- SetTxFee: 设置千字节交易费率
- SignMessage: 签名消息
- SignMessageWithPrivKey: 使用指定私钥签名消息
- WalletLock: 锁定钱包
- WalletPassphrase: 输入钱包口令
- WalletPassphraseChange: 修改钱包口令
分享一些比特币、以太坊、EOS、Fabric等区块链相关的交互式在线编程实战教程:
- java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
- php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
- c#比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在C#代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是C#工程师不可多得的比特币开发学习课程。
- java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
- python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
- php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
- 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
- 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
- ERC721以太坊通证实战,课程以一个数字艺术品创作与分享DApp的实战开发为主线,深入讲解以太坊非同质化通证的概念、标准与开发方案。内容包含ERC-721标准的自主实现,讲解OpenZeppelin合约代码库二次开发,实战项目采用Truffle,IPFS,实现了通证以及去中心化的通证交易所。
- C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
- EOS入门教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
- 深入浅出玩转EOS钱包开发,本课程以手机EOS钱包的完整开发过程为主线,深入学习EOS区块链应用开发,课程内容即涵盖账户、计算资源、智能合约、动作与交易等EOS区块链的核心概念,同时也讲解如何使用eosjs和eosjs-ecc开发包访问EOS区块链,以及如何在React前端应用中集成对EOS区块链的支持。课程内容深入浅出,非常适合前端工程师深入学习EOS区块链应用开发。
- Hyperledger Fabric Nodejs 区块链开发详解,本课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、nodejs链码与应用开发的操作实践,是Nodejs工程师学习Fabric区块链开发的最佳选择。
- Hyperledger Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。
- Hyperledger Fabric Go 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、Go链码与应用开发的操作实践,是Go语言工程师学习Fabric区块链开发的最佳选择。
- tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。
原文链接:比特币命令大全 — 汇智网
来源:oschina
链接:https://my.oschina.net/u/3843525/blog/3197267