# Useful advices & FAQ

## How to calculate the TxID locally

TxID is a unique identifier of transaction. For our native tx format the tx id is a

> **BLAKE3 hash of transaction signature - 256 bit in length, hex-encoded**

Code snippet:

```javascript
let txID = web1337.blake3(tx.sig)
```

See also [Searchbar](/build-core-and-join-network/explorers-and-how-to-use-them/usage-guide/searchbar.md#find-your-transaction-by-tx-id)

## How to calculate the contractID locally to predict the future contract identifier

Contract ID is a concat of address of deployer and nonce. Then, just take hash of this string and add `0x`prefix:

```javascript
const contractID = `0x${web1337.blake3(tx.creator+tx.nonce)}`
```

See:

{% content-ref url="/pages/Sqk9gjlHwg2fLsA9Mvii" %}
[KLY-WVM - deploy and interact with the smart-contract to WASM vm](/web1337/transactions-and-smart-contracts/kly-wvm-deploy-and-interact-with-a-smart-contract.md)
{% endcontent-ref %}

## Check the reason of failed transaction

Sometimes it may happen that you will see a red Failed status next to your transaction. Like this:

<figure><img src="/files/K2YTSPFg0n9jTVl3JyY5" alt=""><figcaption></figcaption></figure>

To find out the reason - click <mark style="color:blue;">**VIEW RAW DETAILS**</mark>. From here it will be possible to check why your transaction failed:

<figure><img src="/files/UWZo0G5DGzsEeYd1PTFM" alt=""><figcaption></figcaption></figure>

## How to find account(user or contract - both for WVM and EVM) in explorer

Remember that Klyntar has a sharded structure, so the full ID of your account should also have prefix with **shard**.

For example: you have account \`

```json
EGU4u3Anwahbtbx8F1ZZgFQSg2u49EkrkqMERT9r3q1o
```

To find it on shard 0, try to search for:

```json
shard_0:EGU4u3Anwahbtbx8F1ZZgFQSg2u49EkrkqMERT9r3q1o
```

In general - to find account on **`shard_x`** - just use template:

```json
shard_x:EGU4u3Anwahbtbx8F1ZZgFQSg2u49EkrkqMERT9r3q1o
```

{% hint style="info" %}
See [Searchbar](/build-core-and-join-network/explorers-and-how-to-use-them/usage-guide/searchbar.md#find-account-info-by-id)
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.klyntar.org/web1337/transactions-and-smart-contracts/useful-advices-and-faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
