如何利用Bitcoin RPC API进行比特币交易和查询?

小贝
预计阅读时长 13 分钟
位置: 首页 小红书 正文

比特币RPC API是一种基于JSON-RPC协议的接口,允许开发者通过各种编程语言(如JavaScript、Java、C#、Php、Python等)与比特币节点进行交互,以下是对比特币RPC API的详细解释:

一、

bitcoin rpc api

比特币RPC API提供了丰富的命令集合,用于查询区块链信息、控制节点行为、创建和管理钱包地址、发送和接收比特币等操作,这些命令通过HTTP或HTTPS协议发送到比特币核心节点,并返回JSON格式的数据。

二、主要API分类及功能

1、区块链相关API

GetBestBlockHash: 返回最优链上最近区块的哈希。

GetBlockCount: 返回本地最优链上的区块数量。

GetBlockHash: 返回本地最优区块链上指定高度区块的哈希。

GetBlockChainInfo: 返回区块链当前状态信息。

GetBlock: 返回具有指定哈希的区块。

bitcoin rpc api

GetBlockHeader: 返回指定区块头。

GetChainTips: 返回每个本地区块链的最高位区块(tip)信息。

GetDifficulty: 获取POW难度。

GetMemPoolAncestors: 返回交易池内指定交易的所有祖先。

GetMemPoolDescendants: 返回交易池内指定交易的所有后代。

GetMemPoolEntry: 返回交易池内指定交易的池数据。

GetMemPoolInfo: 返回交易池信息。

bitcoin rpc api

GetRawMemPool: 返回交易池内的所有交易。

GetTxOutProof: 返回一个或多个交易输出的证明数据。

GetTxOutSetInfo: 返回UTXO集合的统计信息。

PreciousBlock: 对区块链执行剪枝操作。

PrunBlockchain: 对区块链执行剪枝操作。

VerifyChain: 验证本地区块链的每个记录。

VerifyTxOutProof: 验证交易输出证明。

2、节点控制API

GetInfo: 返回节点和网络信息。

Help: 返回所有可用的RPC命令,或指定命令的帮助信息。

Stop: 安全关闭bitcoin core的节点服务。

3、出块相关API

Generate: 生成区块并转入新生成的比特币。

GenerateToAddress: 生成区块并将新生成的比特币转入指定地址。

4、挖矿相关API

GetBlockTemplate: 返回节点的挖矿模板。

GetMiningInfo: 返回挖矿相关信息。

GetNetworkHashPS: 估算全网的哈希速率。

PrioritiseTransaction: 交易优先权。

5、网络相关API

AddNode: 添加节点。

ClearBanned: 清理禁止的节点。

DisconnectPeer: 与指定节点断开连接。

GetAddedNodeInfo: 返回新增节点的信息。

GetConnectionCount: 返回与其他节点的网络流量统计。

GetNetTotals: 返回总流量统计。

Ping: 向所有对等节点发送ping消息。

SetBanManagement: 管理访问清单。

SetNetworkActive: 禁止/启用P2P网络。

SignMessageWithPrivKey: 使用私钥签名消息。

SubmitBlock: 验证原始序列化的区块并将其发送到P2P网络。

6、裸交易相关API

CreateRawTransaction: 创建一个未签名的交易。

DecodeRawTransaction: 解码指定的裸交易。

DecodeScript: 解码指定的P2SH赎回脚本。

FundRawTransaction: 向裸交易添加新的UTXO。

GetRawMemPool: 返回交易池内的所有交易。

GetRawTransaction: 验证原始序列化的裸交易并将其发送到P2P网络。

SendRawTransaction: 验证原始序列化的裸交易并将其发送到P2P网络。

SignRawTransaction: 签名裸交易。

7、钱包相关API

AbandonTransaction: 放弃指定交易。

AddMultiSigAddress: 添加多重签名地址。

AddWitnessAddress: 添加见证地址。

BackupWallet: 备份钱包。

BumpFee: 替换未确认交易并提升手续费。

DumpWallet: 导出钱包。

DumpPrivKey: 导出私钥。

EncryptWallet: 加密钱包。

GetAccount: 返回指定账户的当前地址。

GetAccountAddress: 按账户分组列出地址。

GetAddressesByAccount: 按账户分组列出地址。

GetBalance: 返回钱包账户余额。

GetNewAddress: 返回一个新的地址用于接收支付。

GetRawChangeAddress: 返回新的找零地址。

GetReceivedByAccount: 返回指定账户的收入情况。

GetReceivedByAddress: 返回指定地址的收入情况。

GetTransaction: 返回指定钱包交易的详细信息。

GetUnconfirmedBalance: 返回钱包全部未确认收入总额。

GetWalletInfo: 返回钱包信息。

ImportAddress: 导入地址或公钥脚本。

ImportPrivKey: 导入私钥。

ImportPubKey: 导入公钥。

ImportPrunedFunds: 导入剪枝资金。

ImportWallet: 导入多个钱包。

ImportWatchingKeys: 导入监控密钥。

ListAccounts: 返回钱包内账户及对应余额。

ListAddressGroupings: 按地址列表列出余额。

ListLockUnspent: 返回锁定的UTXO列表。

ListReceivedByAccount: 按账户列出收到的比特币。

ListReceivedByAddress: 列地址收到的比特币。

ListSinceBlock: 列出指定区块之后发生的与钱包有关的交易。

ListTransactions: 列出最近指定数量的与钱包有关的交易。

ListUnspent: 返回钱包内的UTXO。

LockUnspent: 暂时性锁定/解锁指定的UTXO。

Move: 链下转账。

RemovePrunedFunds: 发送剪枝资金。

SendFrom: 使用指定的本地账户向比特币地址发送指定数量的比特币。

SendMany: 创建并广播一个包含多个输出的交易。

SendToAddress: 向比特币地址发送指定数量的比特币。

SetAccount: 将地址与账户关联。

SetTxFeePerKb: 设置千字节交易费率。

SignMessage: 使用私钥签名消息。

SignMessageWithPrivKey: 使用指定私钥签名消息。

WalletLock: 锁定钱包。

WalletPassphrase: 输入钱包口令。

WalletPassphraseChange: 修改钱包口令。

WalletLock: 锁定钱包。

8、工具类API

CreateMultiSig: 创建P2SH多重签名地址。

EstimateFee: 估算交易费率。

EstimatePriority: 估算交易的优先级,].*con^]

EstimateSmartFee: 估算交易的优先级。

GetMemoryInfo: 返回内存使用情况。

ValidateAddress: 验证给定地址是否有效。

VerifyMessage: 验证签名的消息。

WalletLock: 锁定钱包。

WalletPassphrase: 输入钱包口令。

WalletPassphraseChange: 修改钱包口令。

9、杂项API

ListLanguages: 列出支持的语言。

Logging: 设置日志等级。

SetLogFileSize: 设置日志文件的大小上限,单位是KB。

SetLogLevel: 设置日志等级。

SetLogTimeMicros: 设置日志时间戳的微秒数精度。

SetLogTimeZone: 设置日志的时间区域。

StopLoggingConsole: 停止在控制台输出日志信息。

StartLoggingConsole: 开始在控制台输出日志信息。

以上内容就是解答有关“bitcoin rpc api”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。

-- 展开阅读全文 --
头像
API网关试用,如何评估其性能和适用性?
« 上一篇 2024-12-02
如何通过API获取硬件信号?——事例解析
下一篇 » 2024-12-02
取消
微信二维码
支付宝二维码

发表评论

暂无评论,1人围观

目录[+]