6 Star 47 Fork 27

Hyperledger/fabric

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
metadata.go 955 Bytes
一键复制 编辑 原始数据 按行查看 历史
/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package storageutil
import (
"github.com/golang/protobuf/proto"
"github.com/hyperledger/fabric/protos/ledger/rwset/kvrwset"
)
// SerializeMetadata serializes metadata entries for stroing in statedb
func SerializeMetadata(metadataEntries []*kvrwset.KVMetadataEntry) ([]byte, error) {
metadata := &kvrwset.KVMetadataWrite{Entries: metadataEntries}
return proto.Marshal(metadata)
}
// DeserializeMetadata deserializes metadata bytes from statedb
func DeserializeMetadata(metadataBytes []byte) (map[string][]byte, error) {
if metadataBytes == nil {
return nil, nil
}
metadata := &kvrwset.KVMetadataWrite{}
if err := proto.Unmarshal(metadataBytes, metadata); err != nil {
return nil, err
}
m := make(map[string][]byte, len(metadata.Entries))
for _, metadataEntry := range metadata.Entries {
m[metadataEntry.Name] = metadataEntry.Value
}
return m, nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/hyperledger/fabric.git
git@gitee.com:hyperledger/fabric.git
hyperledger
fabric
fabric
v1.3.0

搜索帮助

371d5123 14472233 46e8bd33 14472233