syntax="proto3"; // contract message ContractBodyContent { bytes data = 1; } // device message DeviceBodyContent { repeated bytes endpoints = 1; repeated bytes sn_list = 2; repeated bytes passive_pn_list = 3; optional string name = 4; optional uint32 bdt_version = 5; } // dir message DirBodyContent { enum Type { Chunk = 0; ObjList = 1; } Type type = 1; optional bytes chunk_id = 2; // 使用list编码hash_map message ObjItem { bytes obj_id = 1; bytes value = 2; } repeated ObjItem obj_list = 3; } // file message ChunkList { enum Type { ChunkInList = 0; ChunkInFile = 1; ChunkInBundle = 2; } enum HashMethod { Serial = 0; } Type type = 1; repeated bytes chunk_id_list = 2; bytes file_id = 3; optional HashMethod hash_method = 4; } message FileBodyContent { ChunkList chunk_list = 1; } // org message Director { bytes id = 1; uint32 right = 2; } message OrgMember { bytes id = 1; uint32 right = 2; uint64 shares = 3; } message OrgBodyContent { repeated OrgMember members = 1; repeated Director directors = 2; uint64 total_equity = 3; } // people message PeopleBodyContent { repeated bytes ood_list = 1; optional string name = 2; optional bytes icon = 3; optional string ood_work_mode = 4; } // simple_group message SimpleGroupBodyContent { repeated bytes members = 1; repeated bytes ood_list = 2; optional string ood_work_mode = 3; } // tx message TxBodyContent { bytes data = 1; } // proof_of_service message ProofData { bytes data = 1; } message ProofOfServiceBodyContent { ProofData data = 1; }