How to add a second relay for the current up and running pool?

Hi guys,

I had my first staking pool up and running on main net 1BP and 1 Relay.
Now i just got my second relay up and running.
I have updated the the topology for the core, but i have no idea how to make the BP connecting directly with both relays at the same time.
When i generated my stake pool registration certificate I used this command :

cardano-cli shelley stake-pool registration-certificate \
--cold-verification-key-file cold.vkey \
--vrf-verification-key-file vrf.vkey \
--pool-pledge 70000000000 \
--pool-cost 4321000000 \
--pool-margin 0.04 \
--pool-reward-account-verification-key-file stake.vkey \
--pool-owner-stake-verification-key-file stake.vkey \
--pool-relay-ipv4 123.121.123.121 \
--pool-relay-port 3000 \
--metadata-url https://git.io/JJWdJ \
--metadata-hash d0e21b420a554d7d2d0d85c4e62a1980d6b9d8f7a2d885b3de0fff472e37241b \
--out-file pool-registration.cert

Any idea how to update it and include the new relay also ?

Thanks

There are 2 ways:

  • keep the relay unregistered and this way it will be hiden from the main cardano topology (good practice for preventing DDoS attacks)
  • create a new pool certificate which will include both relays and register to the network

--pool-relay-ipv4 Relay1_IP \
--pool-relay-port Relay1_port \
--pool-relay-ipv4 Relay2_IP \
--pool-relay-port Relay2_port \

In both situations the Relay will have IN/OUT peers and it will process transactions

Cheers,

2 Likes

Nice.
If i create new pool certificate, is there any another changes will happen ? like pool id … etc ?

No, creating a new pool certificate won’t affect pool name or ticker. Also if you created a rule for your BP to accept only connections from your relay, make sure to update that and add your second relay.

1 Like

Nope, see the step from coincashew

18.4 Changing the pledge, fee, margin, etc.

1 Like

thank you :slight_smile:

thank you :slight_smile: :slight_smile:

@Alexd1985 @DevJohn
I am sorry guys, but i have another question … i was following the coincashew documentation … it is saying that i need to do another transaction but they did not mention the amount.
If i am not mistaken, every-time i need to update the pledge or add new relay i need to pay ?? and i need to wait 2 epocs to get this changes applied ?

Thanks

Only for pledge you will need to wait to became active stake (to take effect) same if u will decrease the pledge (wait 2 epochs before to withdraw)

The cost will be the transaction fee ~0,2 ADA

1 Like

@Alexd1985 Thank you so much.

I have successfully added the second relay. and everything seems to be working … and i have increased the pledge from 0 to 3500 ADA. But it is giving me missing pledge :sweat_smile:

This is the pool link : [CLCP] Crypto Land Cardano Pool | Cardano Staking

any suggestions ?

Thanks

Do u have the funds inside the pool/owner wallet? (3500 ADA)

@Alexd1985 Nope. But as i understood the pledge must met regardless having the fund in the owner wallet.
But we have this amount staked using my personal wallet… does it work like that ?

Nope, u will need to have the 3500 ADA inside the pool wallet

U have the option to import the wallet using mnemonic and after use it for pledge

1 Like

Besides what Alex have mentioned, once you send your pledge to the pool’s wallet, it will take some time until you can see the changes.

On a side note, I can see that you are using two relays with two different ports. Usually this is not needed, you can use the same port for the two relays. It just makes things easier.

A third note, your pool has several issues that you need to fix:
https://pool.vet/#1e11aa035ba914ea966f9b254f3cc9ec6f02747ba2e539f364a9b718

1 Like

@Alexd1985 Thank you so much for giving me this information.
I have added a pledge of 200 ADA and it seems to be working also the second relay after re generating the pool certificate.
Thank you so much

1 Like

@DevJohn I appreciate your help and notes.
The pledge is working now.
Regarding the relays ports i do agree with you. But my solution was a little bit complicated since i was planning to dockerise the whole infrastructure and push to kuburnetes … but it seems not a prefect solution so i end up having 3 machines one for BP and another two for the relays … each one running in a docker container for easier maintenance. so i did not really worked on changing the ports after in the docker files.

regarding the pool.vet statistics … i have updated the meta hash already yesterday with new pledge around 8 hours ago … the pledge worked but pool.vet still showing me the metadata failed … plus it is showing just one relay the second one is not showing. plus i have no idea what does the below means

Check manually that the topology for relay node 161.35.121.129:3002 is configured

My both relays are configured manually and there is no topologyupdater in use

I am using this in the topology of both relays

{
  "Producers": [
    {
      "addr": "relays-new.cardano-mainnet.iohk.io",
      "port": 3001,
      "valency": 2
    }
  ]
}

what do you think ?

If you metadata failed and says “doesn’t match registered hash”, there are two possible reasons:

  1. The metahash for the metadata json file (Hosted at your website) and the metahash you identified while registering your certificate/pool doesn’t match.
  2. If you are changing the metadata json file and done the above correctly, you just need to wait for the changes to take effect in around 10 days.

For nodes topology, here is a working example (Identify address and change port if needed):

BP


{
    "Producers": [
      {
        "addr": "YOUR RELAY1 IP ADDRESS",
        "port": 6000,
        "valency": 1
      },

      {
        "addr": "YOUR RELAY2 IP ADDRESS",
        "port": 6000,
        "valency": 1
      }
    ]
}

On the two relays:

{
    "Producers": [
      {
        "addr": "<BLOCK PRODUCER NODE'S PUBLIC IP ADDRESS>",
        "port": 6000,
        "valency": 1
      },
      {
        "addr": "relays-new.cardano-mainnet.iohk.io",
        "port": 3001,
        "valency": 2
      }
    ]
  }

It’s also highly recommended that you configure your topologyupdater to run automatically.

Do the above and you should be fine.

1 Like

Okey i will be waiting the metahash and see …

I am not planning to use topologyupdater for now … since it is not free … but if I got lucky and pool start working … i will consider it 100% … the cloud infrastructure is little bit costly for me …

I will try the suggested configs for topology

thanks

You don’t have to pay for the topoloyupdater, you can refer to this section to know how it’s done:

1 Like

Wow, easy bash script to implement … i will look to it now … thanks appreciated …

1 Like