千家信息网

JSON RPC中的数据类型有哪些

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要介绍"JSON RPC中的数据类型有哪些",在日常操作中,相信很多人在JSON RPC中的数据类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"JSO
千家信息网最后更新 2024年11月23日JSON RPC中的数据类型有哪些

这篇文章主要介绍"JSON RPC中的数据类型有哪些",在日常操作中,相信很多人在JSON RPC中的数据类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"JSON RPC中的数据类型有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

JSON是轻量级的数据交换格式。它可以表示数值、字符串、有序值序列以及名/值对集合。

JSON-RPC是无状态的轻量级远程过程调用(RPC)协议。JSON-RPC规范定义了数据结构以及其处理规则,它是传输无关的,因此可以应用于socket、HTTP、WebSocket或其他消息传输环境。JSON-RPC采用JSON(RFC 4627)作为数据格式。

Parity的网络传输设置

  • HTTP:在8545端口监听

  • WebSocket:在8546端口监听

  • IPC Socket:监听路径为$BASE/jsonrpc.ipc ,在linux上其默认值为~/.local/share/io.parity.ethereum/jsonrpc.ipc

JSON RPC中的数据类型

有几种利用JSON传递的数据类型。由于JavaScript/JSON没有原生的字节数组和大数类型,这两种类型是特别针对以太坊API而设计的,都是用16进制编码,但是有不同的格式化要求。

当编码数量类型 (整数或数值)时,编码为最紧凑的16进制并使用0x前缀,紧凑的意思是0应当编码为0x0而不是0x00。示例如下:

  • 0x41 :十进制的65

  • 0x400 :十进制的1024

  • 0x:错误!应当至少有一位数字,例如0x0

  • 0x0400:错误!不需要前导0

  • ff:错误!必须使用前缀0x

当编码未格式化的数据(字节数组、账户地址、哈希、字节码数组)时,编码为16进制,使用前缀0x,每字节使用两个16进制数字表示。例如:

  • 0x41:表示"A",1个字节

  • 0x004200 :表示"\0B\0",3个字节

  • 0x:表示"",零字节

  • 0xf0f0f:错误!必须为偶数长度

  • 004200:错误!必须使用前缀0x

除了数据和数量,也有标准的JSON类型,我们称之为STR(字符串)和INT(整数)。

启用Parity的JSON-RPC API

默认情况下,并非所有的API都会暴露出来。但是你可以在启动Parity时使用--jsonrpc-apis APIS 来启用相应的API。

APIS时以逗号区隔的API名称列表。可用的名称包括:all, safe, web3, eth, net, personal, parity, parity_set, traces, rpc, parity_accounts, signer。你可以使用-前缀禁用某个特定的api,例如:all,-personal

默认开启的api为: web3,eth,pubsub,net,parity,parity_pubsub,traces,rpc,secretstore。

Parity的JSON-RPC API列表

账户管理基础API

  • personal_ecRecover - 从签名恢复地址

  • personal_listAccounts - 列举所有账户

  • personal_newAccount - 创建新账户

  • personal_sendTransaction - 发送普通交易

  • personal_sign - 计算以太坊签名

  • personal_sign191 - 计算EIP191兼容签名

  • personal_signTransaction - 交易签名

  • personal_signTypedData - 类型数据签名

  • personal_unlockAccount - 解锁账户

Parity扩展API

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

  • parity_allTransactions - 获取交易池交易

  • parity_call - 串行调用多个交易

  • parity_cidV0 - 计算内容ID

  • parity_composeTransaction - 补全交易字段

  • parity_consensusCapability - 查询共识能力

  • parity_decryptMessage - 解密消息

  • parity_encryptMessage - 加密消息

  • parity_futureTransactions

  • parity_getBlockHeaderByNumber - 查询区块头

  • parity_getBlockReceipts - 获取区块全部交易收据

  • parity_hardwarePinMatrixAck - 解锁硬件钱包

  • parity_listOpenedVaults - 列举已打开保险库

  • parity_listStorageKeys - 列举存储密钥

  • parity_listVaults - 列举全部保险库

  • parity_localTransactions - 列举本地交易

  • parity_lockedHardwareAccountsInfo - 列举加锁硬件钱包

  • parity_releasesInfo - 获取发行信息

  • parity_signMessage - 计算消息签名

  • parity_submitWorkDetail - 提交POW方案

  • parity_verifySignature - 验证签名

  • parity_versionInfo - 获取版本信息

保险库管理API

  • parity_changeVault - 改变账户的保险库

  • parity_changeVaultPassword - 修改保险库密码

  • parity_closeVault - 关闭保险库

  • parity_getVaultMeta - 获取保险库元数据

  • parity_newVault - 创建保险库

  • parity_openVault - 打开保险库

  • parity_setVaultMeta - 设置保险库元数据

签名API

  • parity_accountsInfo - 获取账户描述元信息

  • parity_checkRequest - 检查请求是否成功

  • parity_defaultAccount - 获取默认账户

  • parity_generateSecretPhrase - 创建助记词

  • parity_hardwareAccountsInfo - 获取硬件钱包账户信息

  • parity_listAccounts - 获取全部地址

  • parity_phraseToAddress - 将助记词转换为以太坊地址

  • parity_postSign - 请求签名指定的消息

  • parity_postTransaction - 发送交易

挖矿相关API

  • parity_defaultExtraData - 获取默认的额外数据

  • parity_extraData - 获取当前的额外数据

  • parity_gasCeilTarget - 获取当前的gas上限目标

  • parity_gasFloorTarget - 获取当前的gas下限目标

  • parity_minGasPrice - 获取当前的最低gas价格

  • parity_transactionsLimit - 获取交易队列的当前限额

开发相关API

  • parity_devLogs - 获取开发日志

  • parity_devLogsLevels - 获取当前日志级别

网络信息API

  • parity_chain - 获取接入的链名称

  • parity_chainStatus - 获取区块链同步状态

  • parity_gasPriceHistogram - 获取gas价格直方图

  • parity_netChain - 获取链名[已弃用]

  • parity_netPeers - 获取已连接的对等节点

  • parity_netPort - 获取监听端口

  • parity_nextNonce - 获取下一个可用nonce值

  • parity_pendingTransactions - 获取待定交易清单

  • parity_pendingTransactionsStats - 获取待定交易的统计

  • parity_registryAddress - 获取注册中心的地址

  • parity_removeTransaction - 删除本地交易

  • parity_rpcSettings - 获取当前的RPC API设置

  • parity_unsignedTransactionsCount - 获取未签名交易数量

节点设置API

  • parity_enode - 获取节点enode地址

  • parity_mode - 获取节点运行模式

  • parity_nodeKind - 获取节点类型

  • parity_nodeName - 获取节点名称

  • parity_wsUrl - 获取websocket服务地址

Parity账户管理扩展API

  • parity_allAccountsInfo - 获取全部账户描述信息

  • parity_changePassword - 修改账户密码

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

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

  • parity_exportAccount - 导出账户

  • parity_importGethAccounts - 导入Geth账户

  • parity_killAccount - 删除账户

  • parity_listGethAccounts - 列举Geth账户

  • parity_newAccountFromPhrase - 用助记词创建新账户

  • parity_newAccountFromSecret - 用私钥创建新账户

  • parity_newAccountFromWallet - 用钱包对象创建新账户

  • parity_removeAddress - 删除地址

  • parity_setAccountMeta - 设置账户元数据

  • parity_setAccountName - 设置账户名称

  • parity_testPassword - 测试账户密码

Parity配置API

  • parity_acceptNonReservedPeers - 允许接受非保留节点

  • parity_addReservedPeer - 添加保留节点

  • parity_dropNonReservedPeers - 禁止接受非保留节点

  • parity_executeUpgrade - 升级软件

  • parity_hashContent - 计算指定内容的哈希

  • parity_removeReservedPeer - 删除保留节点

  • parity_setAuthor - 设置币基地址

  • parity_setChain - 设置链规范

  • parity_setEngineSigner - 设置共识签名账户

  • parity_setExtraData - 设置新块是否成功

  • parity_setGasCeilTarget - 设置出块gas上限

  • parity_setGasFloorTarget - 设置出块gas下限

  • parity_setMaxTransactionGas - 设置交易最大gas

  • parity_setMinGasPrice - 设置最低gas价格

  • parity_setMode - 设置运行模式

  • parity_setTransactionsLimit

  • parity_upgradeReady - 查询可升级版本

Pairty订阅API

  • parity_subscribe

  • parity_unsubscribe

签名API

  • signer_confirmRequest - 确认交易请求

  • signer_confirmRequestRaw - 确认已签名请求

  • signer_confirmRequestWithToken - 使用令牌确认请求

  • signer_generateAuthorizationToken - 生成授权令牌

  • signer_generateWebProxyAccessToken - 生成web代理访问令牌

  • signer_rejectRequest - 驳回交易请求

  • signer_requestsToConfirm - 等待确认的请求

  • signer_subscribePending - 订阅待定交易

  • signer_unsubscribePending - 取消待定交易订阅

跟踪调试API

  • trace API概述

  • trace_call - 跟踪调用

  • trace_callMany - 跟踪多个调用

  • trace_rawTransaction - 跟踪裸交易调用

  • trace_replayBlockTransactions - 跟踪重放的区块交易

  • trace_replayTransaction - 跟踪重放的交易

  • trace_block - 返回区块跟踪结果

  • trace_filter - 过滤跟踪结果

  • trace_get - 提取指定位置的跟踪结果

  • trace_transaction - 提取指定交易的跟踪结果

Whisper扩展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 - 计算节点集哈希

  • secretstore_shadowDecrypt - 影子解密

  • secretstore_signRawHash - 裸哈希签名

到此,关于"JSON RPC中的数据类型有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0