# Troubleshooting for Evernode Developer Kit
The Troubleshooting Guide for the Evernode Developer Kit provides solutions for commonly encountered errors during the utilization of the Evernode devkit.
| **Possible Error** | **How to fix it**|
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| HOST_INVALID | The host is not registered on the network. Try [selecting a different host](./host-selection.md) from the available host list generated using [`evdevkit list`](../evdevkit/overview.md#listing-active-hosts) command. |
| HOST_INACTIVE | The host is not active on the network. Try [selecting a different host](./host-selection.md) from the available host list generated using [`evdevkit list`](../evdevkit/overview.md#listing-active-hosts) command. |
| NO_OFFER | The host does not have the required number of available instances. Try [selecting a host](./host-selection.md) with sufficient available instance count through the host list generated using [`evdevkit list`](../evdevkit/overview.md#listing-active-hosts) command. |
| TIMEOUT | This occurs when the host’s response time is high. In such cases, the tenant will be refunded, and any created instances will be destroyed.
If this happens repeatedly, consider [selecting a different host](./host-selection.md) from the available host list generated using [`evdevkit list`](../evdevkit/overview.md#listing-active-hosts) command. |
| user_install_error | This occurs due to errors in the host machine. If you encounter this, consider acquiring instances from a different host |
| TRANSACTION_FAILURE | This error may occur due to various issues in the Xahaud node, the Xahau network or the Xahau accounts used.
TRANSACTION_FAILURE (TimeoutError) : Occurs due to delays in the Xahaud nodes and/or Xahau network. If you encounter this error repeatedly, consider acquiring from a host with a different xahaud node.
TRANSACTION_FAILURE (tecINSUFFICIENT_FUNDS) : This occurs when the tenant account has insufficient funds to cover the lease amount. |
| connection failed. | This can occur due to configuration. Port and/or firewall settings of the host. If you encounter this repeatedly, consider acquiring instances from a [different host](./host-selection.md). |
| _Contract is uploaded successfully
but execution fails_ | Follow the below steps one by one to troubleshoot contract execution issues.
1\. Make sure your contract executes without any issues when deployed locally using HP-devkit. If any issues arise during the local execution, refer to the [HP-devkit troubleshooting guide](../../hotpocket/troubleshoot/troubleshoot.md).
2\. Re-check the validity of HotPocket override configuration values provided, if applicable.
3\. If this issue persists, try deploying on a [different host](./host-selection.md), preferably with better hardware resources.
4\. If you can connect to the host on which the contract is deployed, utilize the logs created at `/home///log/` to monitor the behavior of the contract. If you do not have access to the host, you may request the relevant logs by contacting the host via email.
**NOTE:** If the contract is not responding and the logs indicate `Not enough peers proposing to perform consensus`, ensure that `peer_discovery` property is set to `false` in the [configuration file](../../hotpocket/reference/configuration.md) and specify the configuration file path using [`EV_HP_INT_CFG_PATH`](../evdevkit/overview.md#environment-variables) before deploying the cluster. |
## Diagnosing Contract Execution-related issues using Read Requests and Contract User Inputs
Contract Execution-related issues can be diagnosed based on its ability to receive [read requests](../../hotpocket/reference/client-protocol.md#read-request) and [user inputs](../../hotpocket/reference/client-protocol.md#user-inputs).
| Read requests | Contract user inputs | Contract state |
| ------------ | -------------- | ------------------------------------------------------------------------- |
| Unreceived | Unreceived | Not successfully running. |
| Received | Unreceived | Contract successfully running, but not synced. (Has not reached consensus) |
| Received | Received | Contract is successfully running and is synced. (Has reached consensus) |