Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wallet doesn't show meta data re-registered (in case of changing metadata url without changing metadata hash) #1867

Closed
mestakepool opened this issue Jul 7, 2020 · 10 comments
Assignees

Comments

@mestakepool
Copy link

I have done re-registration multiple times hoping that I will be able to register meta data in wallet successfully but wallet back-end running doesn't show meta data information or at least issues while fetching it.

I have exhausted trying all possible options by discussing with the community members. So raising issue here with below details. Kindly help.

Options tried till now.

  1. Removed all spaces in .json
  2. Hosted .json file in web server
  3. Ensured that URL length is less that 64 characters
  4. Did wget and compared with hash used for registration
  5. Ensured that both hashes matching
  6. Deleted block producing DB and did resync with blockchain while starting the wallet back-end and observing logs but there is no log found for meta data issues.

meta-data used for last registration (verified in ledger-state) : https://www.adaglobe.com/adaglobe.json

Shelley version : 1.14.2

Information -
Version
Platform
Installation https://hydra.iohk.io/build/3315798/download/1/cardano-wallet-shelley-2020.6.5-linux64.tar.gz

Regards
Praveen

@piotr-iohk
Copy link
Contributor

@mestakepool I was just able to re-register metadata of the stake-pool following -> https://github.com/input-output-hk/cardano-tutorials/blob/master/node-setup/080_register_stakepool.md (the only difference is that re-registration does not require deposit, only fees). I see my updated metadata in the wallet.

My metadata -> https://piotr-iohk.github.io/adrestia-qa-board/QAPool1.json
Steps I did:

  • I have changed ticker and name and commited my json file.
  • generated new hash cardano-cli shelley stake-pool metadata-hash --pool-metadata-file ../adrestia-qa-board/public/QAPool1.json
  • generated new certificate with updated hash (also updated pledge)
cardano-cli shelley stake-pool registration-certificate \
--cold-verification-key-file cold.vkey \
--vrf-verification-key-file vrf.vkey \
--pool-pledge 100000000000 \
--pool-cost 0 \
--pool-margin 0.05 \
--pool-reward-account-verification-key-file stake.vkey \
--pool-owner-stake-verification-key-file stake.vkey \
--testnet-magic 42 \
--metadata-url https://piotr-iohk.github.io/adrestia-qa-board/QAPool1.json \
--metadata-hash b4aaf23a91425826edf3e973c7cba65b440995f4228efdd93174184320e7139a \
--out-file pool.cert
  • calculated fees
cardano-cli shelley transaction calculate-min-fee \
--tx-in-count 1 \
--tx-out-count 1 \
--ttl 750000 \
--testnet-magic 42 \
--signing-key-file payment.skey \
--signing-key-file stake.skey \
--signing-key-file cold.skey \
--certificate-file pool.cert \
--certificate-file delegation.cert \
--protocol-params-file protocol.json
  • created and submitted transaction (only fees were required, no deposit needed here)
cardano-cli shelley transaction build-raw \
--tx-in 9f5b74e05e087e42dee55f53b3e4c57db1735241ecf500458f7ce57c781c8486#0 \
--tx-out $(cat payment.addr)+999999246388 \
--ttl 750000 \
--fee 188161 \
--out-file tx.raw \
--certificate-file pool.cert \
--certificate-file delegation.cert


cardano-cli shelley transaction sign \
--tx-body-file tx.raw \
--signing-key-file payment.skey \
--signing-key-file stake.skey \
--signing-key-file cold.skey \
--testnet-magic 42 \
--out-file tx.signed

cardano-cli shelley transaction submit \
--tx-file tx.signed \
--testnet-magic 42

My updated metadata was almost immediately available on my wallet attached to node I used to send those last transaction, and after 2-3 minutes on Daedalus I had running on different machine.

Please note that there was a bug related to re-registration in wallet but it was fixed few days age -> #1805

Current wallet master includes that fix. And we will be releasing new increment shortly.

@KtorZ
Copy link
Member

KtorZ commented Jul 7, 2020

@mestakepool I've just resync with the shelley testnet and your pool just doesn't exist? Or at least, there are no pool registered with such metadata URL. Did you register your pool on chain?

@mestakepool
Copy link
Author

hi,
I did all steps same as mentioned by you. Didn't pay deposit as it is re-registration. I have wallet backend running on my node but it doesn't show any details about my pool. Steps followed by me is mentioned below.

wget https://www.adaglobe.com/adaglobe.json
cardano-cli shelley stake-pool metadata-hash --pool-metadata-file adaglobe.json
5ab7b895eb868fec37d4d22489eb2b2821d969d5a712119c60038ec4122da7c7

cardano-cli shelley stake-pool registration-certificate
--cold-verification-key-file cold.vkey
--vrf-verification-key-file vrf.vkey
--pool-pledge 500000000000
--pool-cost 500000000
--pool-margin 0.04
--pool-reward-account-verification-key-file /opt/cardano/cnode/priv/wallet/payw/stake.vkey
--pool-owner-stake-verification-key-file /opt/cardano/cnode/priv/wallet/payw/stake.vkey
--testnet-magic 42
--pool-relay-port 4001
--pool-relay-ipv4 185.56.89.59
--pool-relay-port 4002
--pool-relay-ipv4 185.56.89.59
--metadata-url https://www.adaglobe.com/adaglobe.json
--metadata-hash 5ab7b895eb868fec37d4d22489eb2b2821d969d5a712119c60038ec4122da7c7
--out-file pool.cert

cardano-cli shelley stake-address delegation-certificate
--stake-verification-key-file /opt/cardano/cnode/priv/wallet/payw/stake.vkey
--cold-verification-key-file cold.vkey
--out-file delegation.cert

cardano-cli shelley transaction calculate-min-fee
--tx-in-count 1
--tx-out-count 1
--ttl 1000000
--testnet-magic 42
--signing-key-file /opt/cardano/cnode/priv/wallet/payw/payment.skey
--signing-key-file /opt/cardano/cnode/priv/wallet/payw/stake.skey
--signing-key-file cold.skey
--certificate-file pool.cert
--certificate-file delegation.cert
--protocol-params-file protocol.json

Calculated Fee : 188381

Pool deposit : 500000000 (not needed as already registered)

cardano-cli shelley query utxo
--address $(cat /opt/cardano/cnode/priv/wallet/payw/base.addr)
--testnet-magic 42

d054e7ff60a6ed5930fcc8426c07e3283c96e65d2a004f5af914fd21dc3c872e

balance : 1199496629772

expr 1199496629772 - 188381

1199496441391

cardano-cli shelley transaction build-raw
--tx-in d054e7ff60a6ed5930fcc8426c07e3283c96e65d2a004f5af914fd21dc3c872e#0
--tx-out $(cat /opt/cardano/cnode/priv/wallet/payw/base.addr)+1199496441391
--ttl 1000000
--fee 188381
--out-file tx.raw
--certificate-file pool.cert
--certificate-file delegation.cert

cardano-cli shelley transaction sign
--tx-body-file tx.raw
--signing-key-file /opt/cardano/cnode/priv/wallet/payw/payment.skey
--signing-key-file /opt/cardano/cnode/priv/wallet/payw/stake.skey
--signing-key-file cold.skey
--testnet-magic 42
--out-file tx.signed

cardano-cli shelley transaction submit
--tx-file tx.signed
--testnet-magic 42

@KtorZ
Copy link
Member

KtorZ commented Jul 7, 2020

So okay, the logs are filled with:

I supposed this is one of your first registration. Yet, pools metadata attempts are cached based solely on their hash and retried on failure with an increasing delay. I am afraid that this URL is taking all the spots for that pool hash. I think it is worth considering caching based on hash AND url on our end.

@mestakepool
Copy link
Author

My pool is running and produced 48 blocks by now. I did re-registration at least 6-8 times for last 3 days as wallet backend was not showing any log related to my meta data fetch attempts.

The one mentioned above was my first registration but I changed it with correct file name long back.

Do you mean I should create a different hash and try again as this hash was retired on initial failures?

@mestakepool
Copy link
Author

One more thing is that pooltool picked up my hash correctly.

https://pooltool.io/pool/76e9f93e2e5d3b4eca8d0577f6b071a33befaf92bc793220dc3b5c60/delegators

@mestakepool
Copy link
Author

you can check for below pool ID

76e9f93e2e5d3b4eca8d0577f6b071a33befaf92bc793220dc3b5c60

@KtorZ
Copy link
Member

KtorZ commented Jul 7, 2020

Do you mean I should create a different hash and try again as this hash was retired on initial failures?

That would certainly fix the issue indeed (you could extend your description by a few chars). Although, I believe this could deserve a little fix on our end too.

@KtorZ KtorZ added the BUG:MINOR label Jul 7, 2020
@KtorZ KtorZ self-assigned this Jul 7, 2020
@mestakepool
Copy link
Author

Thank you for quick update. I will try with a different hash as suggested and will update here.

@piotr-iohk piotr-iohk changed the title Wallet doesn't show meta data registered Wallet doesn't show meta data re-registered (in case of changing metadata url without changing metadata hash) Jul 7, 2020
@KtorZ
Copy link
Member

KtorZ commented Aug 6, 2020

Fixed in latest master, all mainnet pools with valid registrations are now listed. There was a remaining issue regarding TLS compatibility for some pools servers which has been fixed yesterday.

@KtorZ KtorZ closed this as completed Aug 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants