编程语言
首页 > 编程语言> > Hyperledger Fabric学习笔记——Connection Options

Hyperledger Fabric学习笔记——Connection Options

作者:互联网

connection options和connection profile一起使用,以精确控制网关与网络的交互方式。

1、用法

const userName = 'User1@org1.example.com';
const wallet = new FileSystemWallet('../identity/user/isabella/wallet');

const connectionOptions = {
  identity: userName,
  wallet: wallet,
  eventHandlerOptions: {
    commitTimeout: 100,
    strategy: EventStrategies.MSPID_SCOPE_ANYFORTX
    }
  };

await gateway.connect(connectionProfile, connectionOptions);

2、选项

下面是可用选项以及作用的列表:

EventStrategies.MSPID_SCOPE_ANYFORTX:监听user组织内的任意peer(any)。

EventStrategies.MSPID_SCOPE_ALLFORTX:这是默认值,监听所有的user组织中的peer,要求组织中的每一个peer都要通知网关(停止的和失败的peer不计入其中)。

EventStrategies.NETWORK_SCOPE_ANYFORTX:监听整个网络通道中的任意peer(可以是其他组织的)。

EventStrategies.NETWORK_SCOPE_ALLFORTX:同上,监听所有的peer。

<PluginEventHandlerFunction>:用户自定义的事件处理程序的名字,用户可以定义自己的事件处理程序逻辑当有特殊的需求时(比如需要等一个组织中的大多数peers通知),一般来说默认的strategy已经够用了。

discovery.enabled:可选的,可能值为true或false,默认是true。决定网关是否使用服务发现来补充connection profile中指定的网络拓扑,这个值将会被能够设置为true或false的环境变量INITIALIZE-WITH-DISCOVERY替代。

discovery.asLocalhost:可选的,可能的值为true或者false,默认是true。它确定是否将在服务发现期间找到的IP地址从docker网络转换为本地主机。通常,开发者写的应用程序会为其网络组件使用docker containers,而自己本身不在容器中运行,因此默认值设置为true。而在生产环境中,应用也可能运行在容器中就和其他网络组件一样,因此地址转换就不需要了,这种情况下,应用程序需要明确指定false或者使用环境变量覆盖。这个值可以被可以设置成true或false的环境变量DISCOVERY-AS-LOCALHOST覆盖。

3、注意事项

标签:网关,Fabric,应用程序,wallet,Connection,EventStrategies,SCOPE,Hyperledger,true
来源: https://blog.csdn.net/Nemoosi/article/details/104789262