> For the complete documentation index, see [llms.txt](https://dzhelezov.gitbook.io/hydra/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dzhelezov.gitbook.io/hydra/faq.md).

# FAQ

Common gotchas and how-tos

## I try to run Hydra Indexer for my node but see `Registry: ERROR: createType`  errors

This error indicates that the indexer type definitions are not properly set. Hydra Indexer v3 takes the default types from `@polkadot/api@4.2.1` which is compatible with runtimes built on Substrate 3.x but may cause errors when run against older versions of Substrate

Make sure that&#x20;

* All the custom types are properly defined in the type definition json and the indexer has picked them up
* `Adress` and `Signature` are decoded properly. [This page](https://polkadot.js.org/docs/api/FAQ/#i-cannot-send-transactions-sending-yields-decoding-failures) may be helpful for troubleshooting

## How do I access extrinsic data in an event handler?

`EventContext` has an `extrinsic` field containing all the relevant extrinsic data if the event was emitted by an extrinsic. Further, one can create a type-safe extrinsic class using the constructor method generated by typegen.

## I want to bootstrap some external data not available via events or extrinsics

Export the data into a json file and load into the database via a one-off preBlockHook at the desired height. See [mapping filters](/hydra/docs/mappings/mapping-filters.md) for more details.

## How do I deal with runtime upgrades?

To inject some new data, define a one-off block hook triggered at the block height with the upgrade. In order to have different versions of event/extrinsic handlers for pre- and post- upgrade, use `specVersion` [filter](/hydra/docs/mappings/mapping-filters.md#mapping-filter).
