美文网首页Corda 学习
R3 Corda: Blob 查看器 Blob Inspecto

R3 Corda: Blob 查看器 Blob Inspecto

作者: 李甲川 | 来源:发表于2018-08-29 23:24 被阅读0次

    原文地址:https://docs.corda.net/blob-inspector.html

    对于自定义的二进制序列化格式(binary serialization format)是有很多好处的,但是一个不好的地方是没办法用自然人的方式来查看里边的内容。Blob 查看器工具通过允许将一个二进制 blob 文件(或者一个 URL end-point)的内容输出为 YAML 或者 JSON 的方式解决了这个问题。它使用 JacksonSupport 实现了这个功能。

    该工具的最新版本可以从这里下载

    想要运行它,只需要简单地将文件或者 URL 作为第一个参数传给它:
    java -jar blob-inspector.jar <file or URL>

    使用 --help 标记查看关于这个命令的所有选项。

    当查看你自定义的数据结构的时候,不需要在 classpath 中包含这些类定义的 jars。Blob 查看器(或者更像是一个序列化框架) 能够将任何没有在 classpath 上的 blob 中的类分析出来。

    SerializedBytes

    一点需要注意的是二进制 blob 可能会包含内置的 SerializedBytes 对象。Blob 查看器不会将他们输出为 Base64 的字符串,而是将他们转换到 Java 对象中,然后再输出。当你在处理像 SignedData 或者其他的带有签名的结构的类(比如节点路径下的 nodeInfo-* 文件或者 network-parameters 文件)的时候你会看到它。比如,node-info 文件的输出会像是:
    --format=YAML

    net.corda.nodeapi.internal.SignedNodeInfo
    ---
    raw:
      class: "net.corda.core.node.NodeInfo"
      deserialized:
        addresses:
        - "localhost:10005"
        legalIdentitiesAndCerts:
        - "O=BankOfCorda, L=London, C=GB"
        platformVersion: 4
        serial: 1527851068715
    signatures:
    - !!binary |-
      VFRy4frbgRDbCpK1Vo88PyUoj01vbRnMR3ROR2abTFk7yJ14901aeScX/CiEP+CDGiMRsdw01cXt\nhKSobAY7Dw==
    

    --format=JSON

    net.corda.nodeapi.internal.SignedNodeInfo
    {
      "raw" : {
        "class" : "net.corda.core.node.NodeInfo",
        "deserialized" : {
          "addresses" : [ "localhost:10005" ],
          "legalIdentitiesAndCerts" : [ "O=BankOfCorda, L=London, C=GB" ],
          "platformVersion" : 4,
          "serial" : 1527851068715
        }
      },
      "signatures" : [ "VFRy4frbgRDbCpK1Vo88PyUoj01vbRnMR3ROR2abTFk7yJ14901aeScX/CiEP+CDGiMRsdw01cXthKSobAY7Dw==" ]
    }
    

    我们会注意到这个文件其实是一个被序列化的 SignedNodeInfo 对象,它含有一个类型为 SerializedBytes<NodeInfo>raw 属性。这个属性被转换成了 NodeInfo 并且被输出到 deserialized 字段的下边。

    相关文章

      网友评论

        本文标题:R3 Corda: Blob 查看器 Blob Inspecto

        本文链接:https://www.haomeiwen.com/subject/dcelwftx.html