nodejs 使用protobuf

时间:2024-05-23 15:27:32

nodejs 使用protobuf

  • 在 hyperledger-fabric中是传输协议使用的是protobuf,在基于该项目有一个项目使用node。则需要使用nodejs的protobuf ,本文使用的是google-protobuf。
    google_protobuf_js
  • 首先新建一个测试项目,node_proto文件夹
  • 在该文件夹下,安装google-protobuf。
    • 安装protoc
    • 首先查看 google-protobuf的版本 npm view google-protobuf versions
    • 在node_proto下新建package.jsonnodejs 使用protobuf
    • 我们用3.6.0版本。在node_proto下新建package.json,写入:{
      “dependencies”: {
      “google-protobuf”: “3.6.0”
      }
      }
  • 然后npm Install

  • 新建proto文件,写入

    syntax = "proto3";
    package ccprotos;
     message requestModel{
     	string msg = 10;
     	string code = 11;
     }
    
  • 根据google_protobuf_js的文档,使用CommonJS imports。protoc --js_out=import_style=commonjs,binary:. .\proto_exam.proto,

  • 之后新建main.js ,测试proto。

    var basepb = require(’./proto_exam_pb’);
    var message = new basepb.requestModel();
    message.setMsg(“hello”);
    message.setCode(“200”);
    var bytes = message.serializeBinary(); console.log(bytes);
    var message2 = basepb.requestModel.deserializeBinary(bytes);
    console.log(message2);