# FtKeyStore · FT4 TypeScript client · Chromia Docs (concept)

> Represents a key store which holds an ft key interface FtKeyStore { id : Buffer; isInteractive : boolean; pubKey : Buffer; createKeyHandler (authDescriptor

Source: https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.FtKeyStore/

Interface

# FtKeyStore

On this page

* [Properties](#properties)
* [id](#id)
* [isInteractive](#isinteractive)
* [pubKey](#pubkey)
* [Methods](#methods)
* [createKeyHandler](#createkeyhandler)
* [sign](#sign)

Represents a key store which holds an ft key

```signature
interface FtKeyStore {
    id: Buffer;
    isInteractive: boolean;
    pubKey: Buffer;
    createKeyHandler(authDescriptor: AnyAuthDescriptor): KeyHandler;
    sign(
        transaction: RawGtx | GTX,
        merkleHashVersionSource: MerkleHashVersionSource,
    ): Promise<Buffer<ArrayBufferLike>>;
}
```

#### Hierarchy ([View Summary](https://docs.chromia.com/pages/ft4-ts-client/hierarchy/#authentication.FtKeyStore))

* [KeyStore](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.KeyStore/)
* [FtSigner](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.FtSigner/)
  + FtKeyStore

## Properties

### id

```signature
id: Buffer
```

Inherited from [KeyStore](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.KeyStore/).[id](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.KeyStore/#id)

### isInteractive

```signature
isInteractive: boolean
```

Inherited from [KeyStore](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.KeyStore/).[isInteractive](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.KeyStore/#isinteractive)

### pubKey

```signature
pubKey: Buffer
```

Overrides [FtSigner](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.FtSigner/).[pubKey](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.FtSigner/#pubkey)

## Methods

### createKeyHandler

* ```signature
  createKeyHandler(authDescriptor: AnyAuthDescriptor): KeyHandler
  ```

  Creates a KeyHandler instance from this KeyStore instance

  #### Parameters

  + authDescriptor: [AnyAuthDescriptor](https://docs.chromia.com/pages/ft4-ts-client/types/accounts.AnyAuthDescriptor/)

    the auth descriptor to use with the KeyHandler

  #### Returns [KeyHandler](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.KeyHandler/)

  Inherited from [KeyStore](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.KeyStore/).[createKeyHandler](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.KeyStore/#createkeyhandler)

### sign

* ```signature
  sign(
      transaction: RawGtx | GTX,
      merkleHashVersionSource: MerkleHashVersionSource,
  ): Promise<Buffer<ArrayBufferLike>>
  ```

  Signs a transaction

  #### Parameters

  + transaction: RawGtx | GTX

    the transaction to sign
  + merkleHashVersionSource: [MerkleHashVersionSource](https://docs.chromia.com/pages/ft4-ts-client/types/utils.MerkleHashVersionSource/)

    the source of the merkle hash version

  #### Returns Promise<Buffer<ArrayBufferLike>>

  the signed transaction, serialized to a `Buffer`

[View this page on docs.chromia.com](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.FtKeyStore.html)Generated API reference, mirrored from the live docs
