```
# Shows help message
update-chainparams.py -h
# Test that the script can run from locations other than contrib/devtools
# from toplevel
contrib/devtools/update-chainparams.py
# Mainnet Tests
# ----------------
bitcoind --rest=1
# Default works as expected (mainnet chainparams replaced with best tip)
update-chainparams.py
# Trying testnet without the correct hostport gives an error
update-chainparams.py -t
update-chainparams.py -t -p 18332
# Specifying a blockhash replaces chainparams with that block and it's chainwork instead
update-chainparams.py -b <someblockhash>
# Testnet Tests
# ---------------
bitcoind --rest=1 --testnet
# Default throws an error because it expects mainnet
update-chainparams.py
# Testnet works as expected (testnet chainparams replaced with best tip)
update-chainparams.py -t
# Specifying a blockhash replaces testnet chainparams with that block and it's chainwork instead
update-chainparams.py -t -b <someblockhash>
# Specifying an invalid blockhash errors as expected
update-chainparams.py -t -b 123
# Specifying a valid blockhash that doesn't exist errors as expected
update-chainparams.py -t -b <a valid but non-existent block hash>
```
```
update-chainparams-test.py
```