# near

## Description

The `getKeys` function is an asynchronous function that generates a new key pair and creates a new account on the NEAR blockchain.

## Parameters

| Parameter   | Data Type | Description                                                            |
| ----------- | --------- | ---------------------------------------------------------------------- |
| `mnemonic`  | string    | The mnemonic phrase used to generate the key pair for the new account. |
| `accountId` | string    | The desired account name for the new account.                          |

## Response

| Field               | Data Type | Description                                                                       |
| ------------------- | --------- | --------------------------------------------------------------------------------- |
| `code`              | number    | A status code indicating the result of the operation. 1 for success, 0 for error. |
| `result`            | object    | An object containing the generated public and private keys for the new account.   |
| `result.publicKey`  | string    | The generated public key for the new account.                                     |
| `result.privateKey` | string    | The generated private key for the new account.                                    |

## Example Request and Response

### Prerequisites

Before making requests with Volary SDK, you must have it installed.

You can install Volary SDK using either **`npm`** or **`yarn`**. Use the following commands to install Volary SDK:

```sh
npm install @nest25/wallet-lib
OR
yarn add @nest25/wallet-lib
```

### Request

Here is an example of how to make a `getKeys` request using the Volary SDK:

{% code overflow="wrap" %}

```javascript
// import Nest SDK
import { Wallet } from 'nest25/wallet-lib';

// Create a new instance of the Wallet class
const wallet = new Wallet();

const testMnemonic = 'divorce poverty spend fire symbol market good skull rebel surge giggle album';

const main = async () => {
  // get the keys for the nearnetwork
  const response = await wallet.getKeys('near', testMnemonic);
  // log the response
  console.log(response);
};

main();
```

{% endcode %}

### Response

{% code overflow="wrap" %}

```sh
{
        code: 1,
        result: {
          privateKey: '61hqSActTebg2cgmRyoeBdSHxq348HQhzs4EqGA9SRTCCChnNB4fKFoFLaLrTfLNxEyTJzVfbgrz7nqD6PN6X8ag',
          address: 'Byz7G9nWucTkErWFR5QzLSAre9TdBak3nB6GUbRjgNzg'
        }
}
```

{% endcode %}

## Use Cases

* **Crypto Wallet:** Crypto wallets can use this function to generate private keys and corresponding public addresses for their users.
* **Testing:** Blockchain developers can use this function to generate private keys and addresses for testing and development purposes.

###
