链眼社区:专注于区块链安全,区块链数据分析, 区块链信息整合,区块链技术服务和区块链技术咨询。

Parity RPC API手册:Parity扩展API(二)
龙行天下
2021-11-24 21:16:33

parity_listOpenedVaults - 列举已打开保险库

parity_listOpenedVaults调用返回所有已打开保险库清单。

调用参数

返回结果

parity_listOpenedVaults调用返回一个数组,每个成员表示 打开的保险库名称。

示例代码

请求:

~$ curl --data '{
  "method":"parity_listOpenedVaults",
  "params":[],
  "id":1,
  "jsonrpc":"2.0"
}' -H "Content-Type: application/json" -X POST localhost:8545

响应结果:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": "['Personal']"
}

parity_listStorageKeys - 列举存储密钥

如果启用了Flat BD,parity_listStorageKeys调用返回指定地址的所有保存密钥, 否则返回null。

调用参数

  • 要查询密钥的地址
  • 批次中要显示的地址数量
  • 批次起始便宜
  • 区块号,或字符串'latest', 'earliest' 或 'pending'.

返回值

parity_listStorageKeys调用返回一个数组,其成员为指定账户的密钥,如果flat DB 未启用则返回null。

示例代码

请求:

~$ curl --data '{
  "method":"parity_listStorageKeys",
  "params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1",5,null],
  "id":1,
  "jsonrpc":"2.0"
}' -H "Content-Type: application/json" -X POST localhost:8545

响应结果:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": [
    "0xaab1a2940583e213f1d57a3ed358d5f5406177c8ff3c94516bfef3ea62d00c22",
    "0xba8469eca5641b186e86cbc5343dfa5352df04feb4564cd3cf784f213aaa0319",
    "0x769d107ba778d90205d7a159e820c41c20bf0783927b426c602561e74b7060e5",
    "0x0289865bcaa58f7f5bf875495ac7af81e3630eb88a3a0358407c7051a850624a",
    "0x32e0536502b9163b0a1ce6e3aabd95fa4a2bf602bbde1b9118015648a7a51178"
  ]
}

parity_listVaults - 列举全部保险库

parity_listVaults调用返回所有可用的保险库

调用参数

返回值

parity_listVaults调用返回一个数组,每个成员对应一个可用保险库名称。

示例代码

请求:

~$ curl --data '{
  "method":"parity_listVaults",
  "params":[],
  "id":1,
  "jsonrpc":"2.0"
}' -H "Content-Type: application/json" -X POST localhost:8545

响应结果:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": "['Personal','Work']"
}

parity_localTransactions - 列举本地交易

parity_localTransactions调用返回本地交易列表。

调用参数

返回值

parity_localTransactions返回一个对象,键为交易哈希,值为交易对象。

示例代码

请求:

~$ curl --data '{
  "method":"parity_localTransactions",
  "params":[],
  "id":1,
  "jsonrpc":"2.0"
}' -H "Content-Type: application/json" -X POST localhost:8545

响应:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": {
    "0x09e64eb1ae32bb9ac415ce4ddb3dbad860af72d9377bb5f073c9628ab413c532": {
      "status": "mined",
      "transaction": {
        "from": "0x00a329c0648769a73afac7f9381e08fb43dbea72",
        "to": "0x00a289b43e1e4825dbedf2a78ba60a640634dc40",
        "value": "0xfffff",
        "blockHash": null,
        "blockNumber": null,
        "creates": null,
        "gas": "0xe57e0",
        "gasPrice": "0x2d20cff33",
        "hash": "0x09e64eb1ae32bb9ac415ce4ddb3dbad860af72d9377bb5f073c9628ab413c532",
        "input": "0x",
        "condition": {
          "block": 1
        },
        "chainId": null,
        "nonce": "0x0",
        "publicKey": "0x3fa8c08c65a83f6b4ea3e04e1cc70cbe3cd391499e3e05ab7dedf28aff9afc538200ff93e3f2b2cb5029f03c7ebee820d63a4c5a9541c83acebe293f54cacf0e",
        "raw": "0xf868808502d20cff33830e57e09400a289b43e1e4825dbedf2a78ba60a640634dc40830fffff801ca034c333b0b91cd832a3414d628e3fea29a00055cebf5ba59f7038c188404c0cf3a0524fd9b35be170439b5ffe89694ae0cfc553cb49d1d8b643239e353351531532",
        "standardV": "0x1",
        "v": "0x1c",
        "r": "0x34c333b0b91cd832a3414d628e3fea29a00055cebf5ba59f7038c188404c0cf3",
        "s": "0x524fd9b35be170439b5ffe89694ae0cfc553cb49d1d8b643239e353351531532",
        "transactionIndex": null
      }
    },
    "0x...": { ... }
  }
}

parity_lockedHardwareAccountsInfo - 列举加锁硬件钱包

parity_lockedHardwareAccountsInfo调用返回被锁定硬件钱包的路径列表。

调用参数

返回值

parity_lockedHardwareAccountsInfo调用返回一个数组,每个成员对应 一个加锁的硬件钱包。

示例代码

请求:

~$ curl --data '{
  "method":"parity_lockedHardwareAccountsInfo",
  "params":[],
  "id":1,
  "jsonrpc":"2.0"
}' -H "Content-Type: application/json" -X POST localhost:8545

响应结果:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": "['/dev/hidraw0']"
}

parity_releasesInfo - 获取版本信息

parity_releasesInfo调用返回描述当前版本状态的ReleasesInfo对象。

调用参数

返回值

  • parity_releasesInfo调用返回null或当前版本信息对象,结构如下:

  • fork:当前链的最后分叉区块号

  • minor:小版本号
  • track:track对象

示例代码

请求:

~$ curl --data '{
  "method":"parity_releasesInfo",
  "params":[],
  "id":1,
  "jsonrpc":"2.0"
}' -H "Content-Type: application/json" -X POST localhost:8545

响应结果:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": null
}

parity_signMessage - 计算消息签名

parity_signMessage利用指定的账户签名已哈希消息码流。

调用参数

  • 签名账户
  • 账户解锁密码
  • 已哈希的消息

返回值

parity_signMessage调用返回消息签名。

示例代码

请求:

~$ curl --data '{
  "method":"parity_signMessage",
  "params":[
    "0xc171033d5cbff7175f29dfd3a63dda3d6f8f385e",
    "password1",
    "0xbc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a"
  ],
  "id":1,
  "jsonrpc":"2.0"
}' -H "Content-Type: application/json" -X POST localhost:8545

响应结果:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": "0x1d9e33a8cf8bfc089a172bca01da462f9e359c6cb1b0f29398bc884e4d18df4f78588aee4fb5cc067ca62d2abab995e0bba29527be6ac98105b0320020a2efaf00"
}

parity_submitWorkDetail - 提交POW方案

parity_submitWorkDetail用来提交工作量证明/POW解决方案,类似于 eth_submitWork,但是该调用在成功时返回区块哈希,失败时返回错误信息。

调用参数

  • 找到的nonce,8字节
  • 头部pow哈希,32自己
  • 混合摘要,32字节

返回值

成功时parity_submitWorkDetail调用返回提交的区块的哈希。

示例代码

请求:

~$ curl --data '{
  "method":"parity_submitWorkDetail",
  "params":[
    "0x0000000000000001",
    "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
    "0xD1FE5700000000000000000000000000D1FE5700000000000000000000000000"
  ],
  "id":1,
  "jsonrpc":"2.0"
}' -H "Content-Type: application/json" -X POST localhost:8545

响应结果:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": "0x07a992176ab51ee50539c1ba287bef937fe49c9a96dafa03954fb6fefa594691"
}

parity_verifySignature - 验证签名

parity_verifySignature调用从给定的签名中恢复公钥和地址,同时 根据当前链约定进行重放保护检查。

调用参数

  • 签名是否使用Ethereum Signed Message前缀,布尔值
  • 已哈希的消息码流
  • 签名R字段
  • 签名S字段
  • 签名V字段

返回值

  • parity_verifySignature调用返回从签名中恢复得到的信息对象

  • address:恢复的地址

  • publicKey:恢复的公钥
  • isValidForCurrentChain:签名是否可用于当前链

示例代码

请求:

~$ curl --data '{
  "method":"parity_verifySignature",
  "params":[
    true,
    "0xbc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a",
    "0x4355c47d63924e8a72e509b65029052eb6c299d53a04e167c5775fd466751c9d",
    "0x07299936d304c153f6443dfa05f40ff007d72911b6f72307f996231605b91562",
    "0x1b"
  ],
  "id":1,
  "jsonrpc":"2.0"
}' -H "Content-Type: application/json" -X POST localhost:8545

响应结果:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": {
    "address": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
    "publicKey": "0x3fa8c08c65a83f6b4ea3e04e1cc70cbe3cd391499e3e05ab7dedf28aff9afc538200ff93e3f2b2cb5029f03c7ebee820d63a4c5a9541c83acebe293f54cacf0e",
    "isValidForCurrentChain": false
  }
}

parity_versionInfo - 获取版本信息

parity_versionInfo调用查询Parity的运行版本。

调用参数

返回值

  • parity_versionInfo调用返回当前版本信息对象,结构如下:

  • hash:当前版本的哈希

  • track:发布分支,可以是:"stable", "beta", "nightly", "testing", "null" (位置或自行构建).
  • version:版本对象,包含主版本、副版本和补丁号

示例代码

请求:

~$ curl --data '{
  "method":"parity_versionInfo",
  "params":[],
  "id":1,
  "jsonrpc":"2.0"
}' -H "Content-Type: application/json" -X POST localhost:8545

响应结果:

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": {
    "hash": "0x2ae8b4ca278dd7b896090366615fef81cbbbc0e0",
    "track": "null",
    "version": {
      "major": 1,
      "minor": 6,
      "patch": 0
    }
  }
}

合作伙伴