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
- GetInfo: 傳回節點和網絡資訊
- Help: 傳回所有可用的RPC指令,或傳回指定指令的幫助資訊
- Stop: 安全關閉bitcoin core的節點服務
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語言工程師快速入門區塊鍊開發的最佳選擇。
彙智網原創,轉載請标明出處