Cardano-node: [BUG] - Sending transaction fails with cryptic message.

Created on 19 Dec 2020  路  6Comments  路  Source: input-output-hk/cardano-node

Internal/External
External

Area
*Stake Pool registration *

Summary
When trying to register my stake pool with the following transaction:
{
"type": "TxSignedShelley",
"description": "",
"cborHex": "83a50081825820ccf1fe3a6b850766766d01382e492fac611bbe5d2472ddc122636f9b7b79809f0001818258390195b68f533b5ec512902957b6ff826601afb02cc89fb3528c60524d673548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f11b00000274f10d08aa021a0002fe49031a01006f2b04828a03581ca2bb2d1201dcb9a68091c6f8ac1ec9b453167189a0795ccce1e9307258207cb1243cb9cdba55055a13890dbe4572ebc4434633dd919ec46f687fe4c6d0ae1a05f5e1001a14904840d81e82031864581de13548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f181581c3548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f182840019177044ac68cd1ff68400191770448ba26f07f68272687474703a2f2f34352e33332e32342e32355820c714379a51921498af707e278563acc8d0fb5f125e7ba0e2c75c7f6abc53cc3783028200581c3548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f1581ca2bb2d1201dcb9a68091c6f8ac1ec9b453167189a0795ccce1e93072a100838258208b784257f3e35238ef48534053028a3915536a99ef670dec1ad489834e32f13c58404a73ccf0c5b5c1298e5f0b489f1237b72025a25b2733c9a73aa3c48163379c6f32a192fe27ab68408dcd86c466d82bfac54ed2e52e665edb001de3173925540f8258208ef99e7c39c3815640701e42eab2ad99bd5e10a3aeefab1b184d23ed15cf0cfc58400a7746305a2a63c6c5c91e235cf85a4eecc25b0c23677f42c9bd7423c31672fe0396627a9a8f381fe39dfea13f5d3cb95b695c54dcaeff6c6e02f0b55669010982582011d5c2b678d0802275fe9b9ce0b3f249c49fe25b7f2fe14a1fa202b982bfe46a584047630e58587357090176a50ff83cbc3dff062b5d7255083f64789ea9a28b5f70fd3323b5fb7511c7a58e5a0438a0ce8c884397adbc71d5eda6d58ded4dddea0bf6"
}

using the following command:
cardano-cli transaction submit --tx-file tx.signed --mainnet

the following error arises:
Shelley command failed: transaction submit Error: Error while submitting tx: ApplyTxError [LedgerFailure (DelegsFailure (DelplFailure (DelegFailure (StakeDelegationImpossibleDELEG (KeyHashObj (KeyHash "3548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f1"))))))]

Expected behavior
A new stake pool is registered on the blockchain.

System info:

  • OS: NixOS
  • Version 20.09.2290.647cc06986c (Nightingale)
  • Node version cardano-node 1.24.2 - linux-x86_64 - ghc-8.10
bug

Most helpful comment

Thats not "cryptic" it says the the delegation is failing, You have to take care about the order in your build-raw process. First you have to create the poolregistration certificate, after that you have to include the owner delegation certificate(s) to it. Order counts on the parameters when doing the build-raw. If you include the delegation certificates first, there is still no pool there to delegate too. Think about the order of the certificates in the tx like firewall rules, starting at the top, going down each step.

First you have to add the pool registration certificate, owner delegation certificates are following.

All 6 comments

Thats not "cryptic" it says the the delegation is failing, You have to take care about the order in your build-raw process. First you have to create the poolregistration certificate, after that you have to include the owner delegation certificate(s) to it. Order counts on the parameters when doing the build-raw. If you include the delegation certificates first, there is still no pool there to delegate too. Think about the order of the certificates in the tx like firewall rules, starting at the top, going down each step.

First you have to add the pool registration certificate, owner delegation certificates are following.

Well, I'd think "cryptic" is a rather subjective adjective. In any case, I did create a pool registration certificate and then a delegation certificate. They look like this:

pool.cert
{
"type": "CertificateShelley",
"description": "Stake Pool Registration Certificate",
"cborHex": "8a03581ca2bb2d1201dcb9a68091c6f8ac1ec9b453167189a0795ccce1e9307258207cb1243cb9cdba55055a13890dbe4572ebc4434633dd919ec46f687fe4c6d0ae1b00000274a48a78001a14904840d81e82031864581de13548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f181581c3548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f182840019177044ac68cd1ff68400191770448ba26f07f68272687474703a2f2f34352e33332e32342e32355820c714379a51921498af707e278563acc8d0fb5f125e7ba0e2c75c7f6abc53cc37"
}

deleg.cert
{
"type": "CertificateShelley",
"description": "Stake Address Delegation Certificate",
"cborHex": "83028200581c3548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f1581ca2bb2d1201dcb9a68091c6f8ac1ec9b453167189a0795ccce1e93072"
}

Not sure what to try now...

Have you registered the StakeKey on the Chain before you try to delegate it to your pool?

Yes, my stakekey is already registered on the chain.

@diegueins680 can you paste all the exact commands you used?

I used this tutorial step by step verbatim, except for the few things that needed to be customized, such as ip addresses, and adding the new --allegra-era flag where needed. I successfully copied and run all the commands up until the last step, which failed.
https://www.coincashew.com/coins/overview-ada/guide-how-to-build-a-haskell-stakepool-node#10-setup-payment-and-stake-keys

Was this page helpful?
0 / 5 - 0 ratings

Related issues

cardanians picture cardanians  路  6Comments

kilgoretrout picture kilgoretrout  路  3Comments

onyxstakepool picture onyxstakepool  路  4Comments

vae520283995 picture vae520283995  路  6Comments

deepfire picture deepfire  路  4Comments