这篇文章主要介绍“JSON RPC中的数据类型有哪些”,在日常操作中,相信很多人在JSON RPC中的数据类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JSON RPC中的数据类型有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
JSON是轻量级的数据交换格式。它可以表示数值、字符串、有序值序列以及名/值对集合。
JSON-RPC是无状态的轻量级远程过程调用(RPC)协议。JSON-RPC规范定义了数据结构以及其处理规则,它是传输无关的,因此可以应用于socket、HTTP、WebSocket或其他消息传输环境。JSON-RPC采用JSON(RFC 4627)作为数据格式。
HTTP:在8545端口监听
WebSocket:在8546端口监听
IPC Socket:监听路径为$BASE/jsonrpc.ipc
,在linux上其默认值为~/.local/share/io.parity.ethereum/jsonrpc.ipc
。
有几种利用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(整数)。
默认情况下,并非所有的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。
账户管理基础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中的数据类型有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。