63 Star 181 Fork 3

Gitee 极速下载 / hyperledger-fabric

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/hyperledger/fabric
克隆/下载
nopkcs11.go 1.96 KB
一键复制 编辑 原始数据 按行查看 历史
Matthew Sykes 提交于 2020-03-11 10:41 . BCCSP initialization cleanup
// +build !pkcs11
/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package factory
import (
"github.com/hyperledger/fabric/bccsp"
"github.com/pkg/errors"
)
const pkcs11Enabled = false
// FactoryOpts holds configuration information used to initialize factory implementations
type FactoryOpts struct {
ProviderName string `mapstructure:"default" json:"default" yaml:"Default"`
SwOpts *SwOpts `mapstructure:"SW,omitempty" json:"SW,omitempty" yaml:"SwOpts"`
}
// InitFactories must be called before using factory interfaces
// It is acceptable to call with config = nil, in which case
// some defaults will get used
// Error is returned only if defaultBCCSP cannot be found
func InitFactories(config *FactoryOpts) error {
factoriesInitOnce.Do(func() {
factoriesInitError = initFactories(config)
})
return factoriesInitError
}
func initFactories(config *FactoryOpts) error {
// Take some precautions on default opts
if config == nil {
config = GetDefaultOpts()
}
if config.ProviderName == "" {
config.ProviderName = "SW"
}
if config.SwOpts == nil {
config.SwOpts = GetDefaultOpts().SwOpts
}
// Software-Based BCCSP
if config.ProviderName == "SW" && config.SwOpts != nil {
f := &SWFactory{}
var err error
defaultBCCSP, err = initBCCSP(f, config)
if err != nil {
return errors.Wrapf(err, "Failed initializing BCCSP")
}
}
if defaultBCCSP == nil {
return errors.Errorf("Could not find default `%s` BCCSP", config.ProviderName)
}
return nil
}
// GetBCCSPFromOpts returns a BCCSP created according to the options passed in input.
func GetBCCSPFromOpts(config *FactoryOpts) (bccsp.BCCSP, error) {
var f BCCSPFactory
switch config.ProviderName {
case "SW":
f = &SWFactory{}
default:
return nil, errors.Errorf("Could not find BCCSP, no '%s' provider", config.ProviderName)
}
csp, err := f.Get(config)
if err != nil {
return nil, errors.Wrapf(err, "Could not initialize BCCSP %s", f.Name())
}
return csp, nil
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mirrors/hyperledger-fabric.git
git@gitee.com:mirrors/hyperledger-fabric.git
mirrors
hyperledger-fabric
hyperledger-fabric
v2.1.0

搜索帮助

344bd9b3 5694891 D2dac590 5694891