Stake pool is not shown in Daedalus
Problem:
Stake pool is not shown in Daedalus
Possible causes:
- Pool has set margin to 100% so it is filtered out.
- Pool has been retired.
- Pool has been delisted from SMASH
- Problems with metadata.json file.
Check if your pool is delisted:
$ curl --silent "https://smash.cardano-mainnet.iohk.io/api/v1/delisted" 2>&1 | grep -o <HEX POOL ID>
Check if your pool is retired:
$ curl --silent "https://smash.cardano-mainnet.iohk.io/api/v1/retired" 2>&1 | grep -o <HEX POOL ID>
Check the errors endpoint to see if there are metadata errors:
Daedalus fetches stake-pools' metadata from the Stake pool Metadata Aggregation Server (SMASH); SMASH verifies that the metadata registered on the blockchain (pool registration certificate) matches with the hash of the file it gets from your metadata.json URL. If hashes don't match, it flags it with an error and the pool is not loaded in Daedalus.
A quick way to investigate if there is a problem with your metadata is to query the errors endpoint in SMASH:
$ curl "https://smash.cardano-mainnet.iohk.io/api/v1/errors/<HEX_POOL_ID>"
If there is a problem with your metadata, you will get a response like:
[{"time":"01.12.2020. 13:12:22","retryCount":11,"poolHash":"<METADATA_HASH>","cause":
"Hash mismatch from poolId '<HEX_POOL_ID>' when fetching metadata from 'https://poolmetadata.json'.
Expected <METADATA_HASH> but got <METADATA_HASH>","poolId":"<HEX_POOL_ID>",
"utcTime":"1606828342.497326s"}]
where EXPECTED is the hash registered in the blockchain, and GOT is what SMASH gets from computing the hash from the file at url https://poolmetadata.json.
To ensure that you register with the correct metadata hash:
$ wget https://poolmetadata.json
> --2020-12-01 20:47:17-- https://poolmetadata.json.
> Resolving ...
> Connecting to... connected.
> HTTP request sent, awaiting response... 200 OK
> Length: 247 [application/json]
> Saving to: ‘poolmetadata.json’
> poolmetadata.json 100%[==================================
> ================================================================>] 247--.-KB/s in 0s
> 2020-12-01 20:47:17 (32.2 MB/s) - ‘poolmetadata.json’ saved [247/247]
then get the hash from the file you just downloaded:
$ cardano-cli shelley stake-pool metadata-hash --pool-metadata-file poolmetadata.json
> POOL_METADATA_HASH
The above is opposed to first hashing the file and then uploading it. This is more relevant if you are using some json storage service like jsonbin.io, npoint.io, etc.. These services reformat your file, removing spaces and line breaks, with the consequence of changing the hash of the file without you noticing it.
After you have hashed the file at its URL, submit a new registration certificate for your pool using the correct metadata hash as shown here: Register a stake pool with metadata