[**@s4ai/core Documentation v0.3.23**](../../../README.md)

***

[@s4ai/core Documentation](../../../modules.md) / [@s4ai/core](../README.md) / DistributedFederation

# Class: DistributedFederation

Defined in: infrastructure/distributed-federation.js:288

## Extends

- [`Revenue`](../business/variables/Revenue.md)

## Constructors

### Constructor

> **new DistributedFederation**(): `BrainFederation`

Defined in: infrastructure/distributed-federation.js:289

#### Returns

`BrainFederation`

#### Overrides

`EventEmitter.constructor`

## Properties

### brains

> **brains**: `Map`\<`any`, `any`\>

Defined in: infrastructure/distributed-federation.js:291

***

### federationTopology

> **federationTopology**: `string`

Defined in: infrastructure/distributed-federation.js:293

***

### globalConsensusThreshold

> **globalConsensusThreshold**: `number`

Defined in: infrastructure/distributed-federation.js:292

## Methods

### addBrain()

> **addBrain**(`brainId`, `nodeType?`): [`FederatedBrain`](../../../infrastructure/distributed-federation/classes/FederatedBrain.md)

Defined in: infrastructure/distributed-federation.js:296

#### Parameters

##### brainId

`any`

##### nodeType?

`string` = `'peer'`

#### Returns

[`FederatedBrain`](../../../infrastructure/distributed-federation/classes/FederatedBrain.md)

***

### aggregateGlobalVotes()

> **aggregateGlobalVotes**(`decisions`): `object`

Defined in: infrastructure/distributed-federation.js:334

#### Parameters

##### decisions

`any`

#### Returns

`object`

##### approvalRate

> **approvalRate**: `string`

##### brainConsensus

> **brainConsensus**: `any`

##### decision

> **decision**: `string`

##### timestamp

> **timestamp**: `number`

***

### getFederationReport()

> **getFederationReport**(): `object`

Defined in: infrastructure/distributed-federation.js:356

#### Returns

`object`

##### averageTrustScore

> **averageTrustScore**: `number`

##### brainMetrics

> **brainMetrics**: `any`[] = `metrics`

##### networkLoad

> **networkLoad**: `any`

##### topology

> **topology**: `string`

##### totalBrains

> **totalBrains**: `number`

##### totalHealthyNodes

> **totalHealthyNodes**: `any`

##### totalSharedKnowledge

> **totalSharedKnowledge**: `any`

***

### initializeFederation()

> **initializeFederation**(): `Promise`\<`void`\>

Defined in: infrastructure/distributed-federation.js:304

#### Returns

`Promise`\<`void`\>

***

### requestGlobalDecision()

> **requestGlobalDecision**(`proposal`): `Promise`\<\{ `approvalRate`: `string`; `brainConsensus`: `any`; `decision`: `string`; `timestamp`: `number`; \}\>

Defined in: infrastructure/distributed-federation.js:318

#### Parameters

##### proposal

`any`

#### Returns

`Promise`\<\{ `approvalRate`: `string`; `brainConsensus`: `any`; `decision`: `string`; `timestamp`: `number`; \}\>

***

### shareGlobalKnowledge()

> **shareGlobalKnowledge**(`key`, `value`): `Promise`\<`void`\>

Defined in: infrastructure/distributed-federation.js:346

#### Parameters

##### key

`any`

##### value

`any`

#### Returns

`Promise`\<`void`\>
