---
# System prepended metadata

title: Try-Runtime on Contracts Node

---

# Try-Runtime on Contracts Node


Clone repo:
```
git clone https://github.com/paritytech/substrate-contracts-node
cd substrate-contracts-node
git checkout bruno-integrate-try-runtime
```

Run a dev chain locally. This is the chain that you want to "follow":
```
cargo b -r
cp target/release/substrate-contracts-node .
./substrate-contracts-node
```

Execute a few extrinsics so you have some blocks produced.

Compile with try-runtime:
```
cargo b -r --features=try-runtime
cp target/release/substrate-contracts-node contracts-node-try-runtime
cp target/release/wbuild/contracts-node-runtime/contracts_node_runtime.wasm runtime-try-runtime.wasm
```

Run the `follow-chain` subcommand:
```
./contracts-node-try-runtime try-runtime \
    --runtime runtime-try-runtime.wasm \
    -lruntime=debug follow-chain --uri \
    ws://localhost:9944
```
You will get the following error:
```
2023-04-23 10:56:06.342  INFO main try-runtime::cli: subscribing to "chain_subscribeFinalizedHeads" / "chain_unsubscribeFinalizedHeads"    
2023-04-23 10:56:06.344  INFO main remote-ext: since no prefix is filtered, the data for all pallets will be downloaded    
2023-04-23 10:56:06.345  INFO main remote-ext: scraping key-pairs from remote at block height 0x0000000000000000000000000000000000000000000000000000000000000000    
2023-04-23 10:56:06.345 ERROR main remote-ext: Error = Call(Custom(ErrorObject { code: ServerError(-32000), message: "Client error: UnknownBlock: Header was not found in the database: 0x0000000000000000000000000000000000000000000000000000000000000000", data: None }))    
Error: Input("rpc get_keys failed")  
```