溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JSON RPC中的數(shù)據(jù)類型有哪些

發(fā)布時間:2021-12-24 16:48:45 來源:億速云 閱讀:133 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹“JSON RPC中的數(shù)據(jù)類型有哪些”,在日常操作中,相信很多人在JSON RPC中的數(shù)據(jù)類型有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JSON RPC中的數(shù)據(jù)類型有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

JSON是輕量級的數(shù)據(jù)交換格式。它可以表示數(shù)值、字符串、有序值序列以及名/值對集合。

JSON-RPC是無狀態(tài)的輕量級遠(yuǎn)程過程調(diào)用(RPC)協(xié)議。JSON-RPC規(guī)范定義了數(shù)據(jù)結(jié)構(gòu)以及其處理規(guī)則,它是傳輸無關(guān)的,因此可以應(yīng)用于socket、HTTP、WebSocket或其他消息傳輸環(huán)境。JSON-RPC采用JSON(RFC 4627)作為數(shù)據(jù)格式。

Parity的網(wǎng)絡(luò)傳輸設(shè)置

  • HTTP:在8545端口監(jiān)聽

  • WebSocket:在8546端口監(jiān)聽

  • IPC Socket:監(jiān)聽路徑為$BASE/jsonrpc.ipc ,在linux上其默認(rèn)值為~/.local/share/io.parity.ethereum/jsonrpc.ipc。

JSON RPC中的數(shù)據(jù)類型

有幾種利用JSON傳遞的數(shù)據(jù)類型。由于JavaScript/JSON沒有原生的字節(jié)數(shù)組和大數(shù)類型,這兩種類型是特別針對以太坊API而設(shè)計的,都是用16進(jìn)制編碼,但是有不同的格式化要求。

當(dāng)編碼數(shù)量類型 (整數(shù)或數(shù)值)時,編碼為最緊湊的16進(jìn)制并使用0x前綴,緊湊的意思是0應(yīng)當(dāng)編碼為0x0而不是0x00。示例如下:

  • 0x41 :十進(jìn)制的65

  • 0x400 :十進(jìn)制的1024

  • 0x:錯誤!應(yīng)當(dāng)至少有一位數(shù)字,例如0x0

  • 0x0400:錯誤!不需要前導(dǎo)0

  • ff:錯誤!必須使用前綴0x

當(dāng)編碼未格式化的數(shù)據(jù)(字節(jié)數(shù)組、賬戶地址、哈希、字節(jié)碼數(shù)組)時,編碼為16進(jìn)制,使用前綴0x,每字節(jié)使用兩個16進(jìn)制數(shù)字表示。例如:

  • 0x41:表示“A”,1個字節(jié)

  • 0x004200 :表示“\0B\0”,3個字節(jié)

  • 0x:表示“”,零字節(jié)

  • 0xf0f0f:錯誤!必須為偶數(shù)長度

  • 004200:錯誤!必須使用前綴0x

除了數(shù)據(jù)和數(shù)量,也有標(biāo)準(zhǔn)的JSON類型,我們稱之為STR(字符串)和INT(整數(shù))。

啟用Parity的JSON-RPC API

默認(rèn)情況下,并非所有的API都會暴露出來。但是你可以在啟動Parity時使用--jsonrpc-apis APIS 來啟用相應(yīng)的API。

APIS時以逗號區(qū)隔的API名稱列表??捎玫拿Q包括:all, safe, web3, eth, net, personal, parity, parity_set, traces, rpc, parity_accounts, signer。你可以使用-前綴禁用某個特定的api,例如:all,-personal。

默認(rèn)開啟的api為: web3,eth,pubsub,net,parity,parity_pubsub,traces,rpc,secretstore。

Parity的JSON-RPC API列表

賬戶管理基礎(chǔ)API

  • personal_ecRecover - 從簽名恢復(fù)地址

  • personal_listAccounts - 列舉所有賬戶

  • personal_newAccount - 創(chuàng)建新賬戶

  • personal_sendTransaction - 發(fā)送普通交易

  • personal_sign - 計算以太坊簽名

  • personal_sign191 - 計算EIP191兼容簽名

  • personal_signTransaction - 交易簽名

  • personal_signTypedData - 類型數(shù)據(jù)簽名

  • personal_unlockAccount - 解鎖賬戶

Parity擴(kuò)展API

  • parity_allTransactionHashes - 獲取交易池交易哈希

  • parity_allTransactions - 獲取交易池交易

  • parity_call - 串行調(diào)用多個交易

  • parity_cidV0 - 計算內(nèi)容ID

  • parity_composeTransaction - 補(bǔ)全交易字段

  • parity_consensusCapability - 查詢共識能力

  • parity_decryptMessage - 解密消息

  • parity_encryptMessage - 加密消息

  • parity_futureTransactions

  • parity_getBlockHeaderByNumber - 查詢區(qū)塊頭

  • parity_getBlockReceipts - 獲取區(qū)塊全部交易收據(jù)

  • parity_hardwarePinMatrixAck - 解鎖硬件錢包

  • parity_listOpenedVaults - 列舉已打開保險庫

  • parity_listStorageKeys - 列舉存儲密鑰

  • parity_listVaults - 列舉全部保險庫

  • parity_localTransactions - 列舉本地交易

  • parity_lockedHardwareAccountsInfo - 列舉加鎖硬件錢包

  • parity_releasesInfo - 獲取發(fā)行信息

  • parity_signMessage - 計算消息簽名

  • parity_submitWorkDetail - 提交POW方案

  • parity_verifySignature - 驗證簽名

  • parity_versionInfo - 獲取版本信息

保險庫管理API

  • parity_changeVault - 改變賬戶的保險庫

  • parity_changeVaultPassword - 修改保險庫密碼

  • parity_closeVault - 關(guān)閉保險庫

  • parity_getVaultMeta - 獲取保險庫元數(shù)據(jù)

  • parity_newVault - 創(chuàng)建保險庫

  • parity_openVault - 打開保險庫

  • parity_setVaultMeta - 設(shè)置保險庫元數(shù)據(jù)

簽名API

  • parity_accountsInfo - 獲取賬戶描述元信息

  • parity_checkRequest - 檢查請求是否成功

  • parity_defaultAccount - 獲取默認(rèn)賬戶

  • parity_generateSecretPhrase - 創(chuàng)建助記詞

  • parity_hardwareAccountsInfo - 獲取硬件錢包賬戶信息

  • parity_listAccounts - 獲取全部地址

  • parity_phraseToAddress - 將助記詞轉(zhuǎn)換為以太坊地址

  • parity_postSign - 請求簽名指定的消息

  • parity_postTransaction - 發(fā)送交易

挖礦相關(guān)API

  • parity_defaultExtraData - 獲取默認(rèn)的額外數(shù)據(jù)

  • parity_extraData - 獲取當(dāng)前的額外數(shù)據(jù)

  • parity_gasCeilTarget - 獲取當(dāng)前的gas上限目標(biāo)

  • parity_gasFloorTarget - 獲取當(dāng)前的gas下限目標(biāo)

  • parity_minGasPrice - 獲取當(dāng)前的最低gas價格

  • parity_transactionsLimit - 獲取交易隊列的當(dāng)前限額

開發(fā)相關(guān)API

  • parity_devLogs - 獲取開發(fā)日志

  • parity_devLogsLevels - 獲取當(dāng)前日志級別

網(wǎng)絡(luò)信息API

  • parity_chain - 獲取接入的鏈名稱

  • parity_chainStatus - 獲取區(qū)塊鏈同步狀態(tài)

  • parity_gasPriceHistogram - 獲取gas價格直方圖

  • parity_netChain - 獲取鏈名[已棄用]

  • parity_netPeers - 獲取已連接的對等節(jié)點(diǎn)

  • parity_netPort - 獲取監(jiān)聽端口

  • parity_nextNonce - 獲取下一個可用nonce值

  • parity_pendingTransactions - 獲取待定交易清單

  • parity_pendingTransactionsStats - 獲取待定交易的統(tǒng)計

  • parity_registryAddress - 獲取注冊中心的地址

  • parity_removeTransaction - 刪除本地交易

  • parity_rpcSettings - 獲取當(dāng)前的RPC API設(shè)置

  • parity_unsignedTransactionsCount - 獲取未簽名交易數(shù)量

節(jié)點(diǎn)設(shè)置API

  • parity_enode - 獲取節(jié)點(diǎn)enode地址

  • parity_mode - 獲取節(jié)點(diǎn)運(yùn)行模式

  • parity_nodeKind - 獲取節(jié)點(diǎn)類型

  • parity_nodeName - 獲取節(jié)點(diǎn)名稱

  • parity_wsUrl - 獲取websocket服務(wù)地址

Parity賬戶管理擴(kuò)展API

  • parity_allAccountsInfo - 獲取全部賬戶描述信息

  • parity_changePassword - 修改賬戶密碼

  • parity_deriveAddressHash - 指定哈希派生新地址

  • parity_deriveAddressIndex - 指定索引派生新地址

  • parity_exportAccount - 導(dǎo)出賬戶

  • parity_importGethAccounts - 導(dǎo)入Geth賬戶

  • parity_killAccount - 刪除賬戶

  • parity_listGethAccounts - 列舉Geth賬戶

  • parity_newAccountFromPhrase - 用助記詞創(chuàng)建新賬戶

  • parity_newAccountFromSecret - 用私鑰創(chuàng)建新賬戶

  • parity_newAccountFromWallet - 用錢包對象創(chuàng)建新賬戶

  • parity_removeAddress - 刪除地址

  • parity_setAccountMeta - 設(shè)置賬戶元數(shù)據(jù)

  • parity_setAccountName - 設(shè)置賬戶名稱

  • parity_testPassword - 測試賬戶密碼

Parity配置API

  • parity_acceptNonReservedPeers - 允許接受非保留節(jié)點(diǎn)

  • parity_addReservedPeer - 添加保留節(jié)點(diǎn)

  • parity_dropNonReservedPeers - 禁止接受非保留節(jié)點(diǎn)

  • parity_executeUpgrade - 升級軟件

  • parity_hashContent - 計算指定內(nèi)容的哈希

  • parity_removeReservedPeer - 刪除保留節(jié)點(diǎn)

  • parity_setAuthor - 設(shè)置幣基地址

  • parity_setChain - 設(shè)置鏈規(guī)范

  • parity_setEngineSigner - 設(shè)置共識簽名賬戶

  • parity_setExtraData - 設(shè)置新塊是否成功

  • parity_setGasCeilTarget - 設(shè)置出塊gas上限

  • parity_setGasFloorTarget - 設(shè)置出塊gas下限

  • parity_setMaxTransactionGas - 設(shè)置交易最大gas

  • parity_setMinGasPrice - 設(shè)置最低gas價格

  • parity_setMode - 設(shè)置運(yùn)行模式

  • parity_setTransactionsLimit

  • parity_upgradeReady - 查詢可升級版本

Pairty訂閱API

  • parity_subscribe

  • parity_unsubscribe

簽名API

  • signer_confirmRequest - 確認(rèn)交易請求

  • signer_confirmRequestRaw - 確認(rèn)已簽名請求

  • signer_confirmRequestWithToken - 使用令牌確認(rèn)請求

  • signer_generateAuthorizationToken - 生成授權(quán)令牌

  • signer_generateWebProxyAccessToken - 生成web代理訪問令牌

  • signer_rejectRequest - 駁回交易請求

  • signer_requestsToConfirm - 等待確認(rèn)的請求

  • signer_subscribePending - 訂閱待定交易

  • signer_unsubscribePending - 取消待定交易訂閱

跟蹤調(diào)試API

  • trace API概述

  • trace_call - 跟蹤調(diào)用

  • trace_callMany - 跟蹤多個調(diào)用

  • trace_rawTransaction - 跟蹤裸交易調(diào)用

  • trace_replayBlockTransactions - 跟蹤重放的區(qū)塊交易

  • trace_replayTransaction - 跟蹤重放的交易

  • trace_block - 返回區(qū)塊跟蹤結(jié)果

  • trace_filter - 過濾跟蹤結(jié)果

  • trace_get - 提取指定位置的跟蹤結(jié)果

  • trace_transaction - 提取指定交易的跟蹤結(jié)果

Whisper擴(kuò)展API

  • shh_info

  • shh_newKeyPair

  • shh_addPrivateKey

  • shh_newSymKey

  • shh_addSymKey

  • shh_getPublicKey

  • shh_getPrivateKey

  • shh_getSymKey

  • shh_deleteKey

  • shh_post

  • shh_newMessageFilter

  • shh_getFilterMessages

  • shh_deleteMessageFilter

  • shh_subscribe

  • shh_unsubscribe

密鑰庫API

  • secretstore API概述

  • secretstore_decrypt - 解密文檔

  • secretstore_encrypt - 加密文檔

  • secretstore_generateDocumentKey - 生成文檔密鑰

  • secretstore_serversSetHash - 計算節(jié)點(diǎn)集哈希

  • secretstore_shadowDecrypt - 影子解密

  • secretstore_signRawHash - 裸哈希簽名

到此,關(guān)于“JSON RPC中的數(shù)據(jù)類型有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI