# Interface: NodeConfig

Defined in: [packages/core/src/node/types.ts:75](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L75)

## Properties

| Property | Modifier | Type | Description | Defined in |
| ------ | ------ | ------ | ------ | ------ |
| <a id="property-accountkey"></a> `accountKey?` | `readonly` | `Uint8Array`\<`ArrayBufferLike`\> | The account key (`deriveAccountKey(seed)`): the node then follows the account registry and opens the contacts space | [packages/core/src/node/types.ts:79](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L79) |
| <a id="property-accountname"></a> `accountName?` | `readonly` | `string` | The account's name as a grant gives it: what knocks and a new inbox say until the account's profile reaches this node from its registry | [packages/core/src/node/types.ts:91](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L91) |
| <a id="property-cache"></a> `cache?` | `readonly` | [`CacheConfig`](https://minca.dev/api/core/interfaces/CacheConfig.md) | Hold only the collections this node uses, once a space names a keeper to hold the rest | [packages/core/src/node/types.ts:117](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L117) |
| <a id="property-collections"></a> `collections?` | `readonly` | readonly [`CollectionDef`](https://minca.dev/api/core/interfaces/CollectionDef.md)[] | Collection shapes to use where a space has none: checked on write, flagged (`conforms`) on read, never refused | [packages/core/src/node/types.ts:99](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L99) |
| <a id="property-contactkey"></a> `contactKey?` | `readonly` | `Uint8Array`\<`ArrayBufferLike`\> | The account's contact key (`deriveContactKeyBytes(seed)`), to open contact requests and knocks, in shared spaces and in the inbox. Its public half is published on the account's profiles. | [packages/core/src/node/types.ts:84](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L84) |
| <a id="property-contactsspace"></a> `contactsSpace?` | `readonly` | `string` | The account's contacts space, for a node given it without the account key (an app granted `contacts`) | [packages/core/src/node/types.ts:86](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L86) |
| <a id="property-fetchfiles"></a> `fetchFiles?` | `readonly` | `"all"` | Fetch and keep every file of any size, as a keeper does. Default: others' files up to 5 MiB, dropping the least used past 256 MiB a space (spec 05 §16.6). `setFileLimits` changes either while the node runs. | [packages/core/src/node/types.ts:115](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L115) |
| <a id="property-mailbox"></a> `mailbox?` | `readonly` | [`MailboxClient`](https://minca.dev/api/inbox/interfaces/MailboxClient.md) | How the inbox and short links reach mailboxes. Default: `createMailboxClient` | [packages/core/src/node/types.ts:93](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L93) |
| <a id="property-network"></a> `network?` | `readonly` | [`NodeNetworkConfig`](https://minca.dev/api/core/interfaces/NodeNetworkConfig.md) | Omit to stay offline | [packages/core/src/node/types.ts:101](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L101) |
| <a id="property-provider"></a> `provider?` | `readonly` | [`CryptoProvider`](https://minca.dev/api/core/interfaces/CryptoProvider.md) | The cryptography to sign and check with. Default: P-256 over Web Crypto. | [packages/core/src/node/types.ts:97](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L97) |
| <a id="property-sessionkey"></a> `sessionKey?` | `readonly` | `CryptoKeyPair` | The key to sign with, when the signer already named it. Default: one claimed from `writerKey`, else a fresh one | [packages/core/src/node/types.ts:105](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L105) |
| <a id="property-sessionttlseconds"></a> `sessionTtlSeconds?` | `readonly` | `number` | Seconds each session delegation lasts; renewed before it runs out. Default 3600. | [packages/core/src/node/types.ts:103](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L103) |
| <a id="property-signer"></a> `signer` | `readonly` | [`RootSigner`](https://minca.dev/api/core/interfaces/RootSigner.md) | Who this node acts for. The root key only signs session delegations. | [packages/core/src/node/types.ts:77](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L77) |
| <a id="property-stores"></a> `stores` | `readonly` | [`StoreFactory`](https://minca.dev/api/core/type-aliases/StoreFactory.md) | Where the registry and each space's store live | [packages/core/src/node/types.ts:95](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L95) |
| <a id="property-watchintervalms"></a> `watchIntervalMs?` | `readonly` | `number` | How often to look for another process's writes to a folder store, ms. 0 disables. Default 2000. | [packages/core/src/node/types.ts:109](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L109) |
| <a id="property-writerkey"></a> `writerKey?` | `readonly` | [`WriterKeySource`](https://minca.dev/api/core/interfaces/WriterKeySource.md) | Where to keep a signing key across runs (`browserWriterKeys`). Without one, each run makes a new key. Ignored with `sessionKey`. | [packages/core/src/node/types.ts:107](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L107) |
