This is a pure javascript driver for the protocol buffer encoding protocol. It supports most of the types defined by protocol buffers, including 64 bit integers which are returned as long objects.
var protobuf = require('protobuf.js');
var proto2json = require('node-proto2json');
proto2json.parse(fs.readFileSync('./riak_kv.proto', 'utf8'), function (err, result) {
var translator = new protobuf(result);
//msg will *only* contain the protobuf encoded message, *NOT* the full riak packet
var msg = translator.encode('RpbGetReq', { bucket: 'test', key: 'test' });
//again, this will *only* decode the protobuf message. you have to remove the riak header yourself
var decoded = translator.decode('RpbGetResp', responsePacket);
});