# 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 [#find-your-transaction-by-tx-id](https://docs.klyntar.org/build-core-and-join-network/explorers-and-how-to-use-them/usage-guide/searchbar#find-your-transaction-by-tx-id "mention")

## 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="kly-wvm-deploy-and-interact-with-a-smart-contract" %}
[kly-wvm-deploy-and-interact-with-a-smart-contract](https://docs.klyntar.org/web1337/transactions-and-smart-contracts/kly-wvm-deploy-and-interact-with-a-smart-contract)
{% 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="https://3015034387-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNKK8Y1uEALYsObbKnPLt%2Fuploads%2FpkSRc7csf0mNLum3PTvo%2Fimage.png?alt=media&#x26;token=6bb0423b-9a0a-4c3a-bad6-7e47e6f21761" 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="https://3015034387-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNKK8Y1uEALYsObbKnPLt%2Fuploads%2Fm25DdnEKu5fJJMIeEQ39%2Fimage.png?alt=media&#x26;token=46e49a49-66d9-4dff-8076-3722ca86a7cf" 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 [#find-account-info-by-id](https://docs.klyntar.org/build-core-and-join-network/explorers-and-how-to-use-them/usage-guide/searchbar#find-account-info-by-id "mention")
{% endhint %}
