比特币钱包rpc
2019-04-28 本文已影响2人
编程狂魔
bitcoind是最常用的比特币钱包,比特币钱包通过rpc提供了一组api,可供外部程序来操作比特币钱包,例如创建地址、查询余额或者向其他地址转账。例如,比特币rpc命令行工具bitcoin-cli就是利用比特币钱包的api来实现其功能;同样我们也可以在自己的程序中通过调用比特币钱包rpc api来实现bitcoin-cli的功能。文本分组提供了比特币钱包rpc的api清单与文档链接。
1、区块链相关rpc api
- GetBestBlockHash: 返回最优链上最近区块的哈希
- GetBlock: 返回具有指定哈希的区块
- GetBlockChainInfo: 返回区块链当前状态信息
- GetBlockCount: 返回本地最优链上的区块数量
- GetBlockHash: 返回本地最有区块链上指定高度区块的哈希
- GetBlockHeader: 返回指定区块头
- GetChainTips: 返回每个本地区块链的最高位区块(tip)信息
- GetDifficulty: 返回POW难度
- GetMemPoolAncestors: 返回交易池内指定交易的所有祖先
- GetMemPoolDescendants: 返回交易池内指定交易的所有后代
- GetMemPoolEntry: 返回交易池内指定交易的池数据
- GetMemPoolInfo: 返回交易池信息
- GetRawMemPool: 返回交易池内的所有交易
- GetTxOut: 返回指定交易输出的详细信息
- GetTxOutProof: 返回一个或多个交易的证明数据
- GetTxOutSetInfo: 返回UTXO集合的统计信息
- PreciousBlock:
- PruneBlockChain: 对区块链执行剪枝操作
- VerifyChain: 验证本地区块链的每个记录
- VerifyTxOutProof: 验证交易输出证明
2、节点控制rpc api
3、挖矿相关rpc api
- Generate: 生成区块
- GenerateToAddress: 生成区块并将新生成的比特币转入指定地址
- GetBlockTemplate: 返回节点模板
- GetMiningInfo: 返回挖矿相关信息
- GetNetworkHashPS: 返回估算的全网哈希速率
- PrioritiseTransactionhttp://cw.hubwiz.com/card/c/bitcoin-json-rpc-api/1/3/6/: 交易优先权
- SubmitBlock:提交区块
4、网络相关rpc api
- AddNode: 添加节点
- ClearBanned: 清理禁止的节点
- DisconnectNode: 断开与指定节点旳连接
- GetAddedNodeInfo: 返回新增节点的信息
- GetConnectionCount: 返回与其他节点旳连接总数量
- GetNetTotals: 返回网络流量统计信息
- GetNetworkInfo: 返回节点的网络连接信息
- GetPeerInfo: 返回所连接其他节点旳信息
- ListBanned: 返回所有被禁止的IP或子网
- Ping: 向所有连接的节点发送p2p的pin报文
- SetBan: 管理禁止访问清单
- SetNetworkActive: 禁止/启用P2P网络
5、裸交易相关rpc api
- CreateRawTransaction: 创建未签名的序列化交易
- FundRawTransaction: 向裸交易添加新的UTXO
- DecodeRawTransaction: 解码指定的裸交易
- DecodeScript: 解码指定的P2SH赎回脚本
- GetRawTransaction: 返回指定的裸交易
- SendRawTransaction: 验证并发送裸交易到P2P网络
- SignRawTransaction: 签名裸交易
6、工具类rpc api
- CreateMultiSig: 创建P2SH多重签名地址
- EstimateFee: 估算交易费率
- EstimatePriority: 估算交易的优先级
- GetMemoryInfo: 返回内存使用情况
- ValidateAddress: 验证指定的地址
- VerifyMessage: 验证签名的消息
7、钱包相关rpc api
- 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、Tendermint等区块链相关的交互式在线编程实战教程:
- 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 区块链开发详解,本课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、nodejs链码与应用开发的操作实践,是Nodejs工程师学习Fabric区块链开发的最佳选择。
- Hyperledger Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。
- tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。
汇智网原创,转载请标明出处