扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍“JSON RPC中的数据类型有哪些”,在日常操作中,相信很多人在JSON RPC中的数据类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JSON RPC中的数据类型有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创新互联始终坚持【策划先行,效果至上】的经营理念,通过多达10多年累计超上千家客户的网站建设总结了一套系统有效的推广解决方案,现已广泛运用于各行各业的客户,其中包括:阳台护栏等企业,备受客户称誉。
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中的数据类型有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流