<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [CodingContract](./bitburner.codingcontract.md) &gt; [attempt](./bitburner.codingcontract.attempt.md)

## CodingContract.attempt() method

Attempts a coding contract, returning a reward string on success or empty string on failure.

**Signature:**

```typescript
attempt(answer: any, filename: string, host?: string): string;
```

## Parameters

<table><thead><tr><th>

Parameter


</th><th>

Type


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

answer


</td><td>

any


</td><td>

Attempted solution for the contract. This can be a string formatted like submitting manually, or the answer in the format of the specific contract type.


</td></tr>
<tr><td>

filename


</td><td>

string


</td><td>

Filename of the contract.


</td></tr>
<tr><td>

host


</td><td>

string


</td><td>

_(Optional)_ Hostname/IP of the server containing the contract. Optional. Defaults to current server if not provided.


</td></tr>
</tbody></table>

**Returns:**

string

A reward description string on success, or an empty string on failure.

## Remarks

RAM cost: 10 GB

Attempts to solve the Coding Contract with the provided solution.

## Example


```js
const reward = ns.codingcontract.attempt("[solution, as, a, string]", filename, hostname);
// or
const reward = ns.codingcontract.attempt(["answer", "as", "an", "array"], filename, hostname);
if (reward) {
  ns.tprint(`Contract solved successfully! Reward: ${reward}`);
} else {
  ns.tprint("Failed to solve contract.");
}
```

