My first Stake Pool Server - General Questions

Hello Cardano team,
I just setup my first relay node under CentOS 7 (the next step is to configure the block producing node).

I have some questions / problems to ask about:

  1. When I’m querying my payment address with: cardano-cli query utxo --address $(cat payment.addr) --mainnet I’m getting: Shelley command failed: query utxo Error: A query from a certain era was applied to a ledger from a different era: EraMismatch {ledgerEraName = “Allegra”, otherEraName = “Shelley”} Do I need to want more time node to sync (Its working for 24h now)

  2. Can I skip this step “Create a simple transaction”? Is this just a test? From URL 3. Create a simple transaction — cardano-node Documentation 1.0.0 documentation

  3. Can I run the block producing node on the same machine?

  4. Do I need to have public IP address, currently the relay node is running on the local ip adress (that local ip address the router gave me - 192.168.220.220, and I don’t see any problem), here is my command:

/home/cardano/.local/bin/cardano-node run
–topology /home/cardano/configs/mainnet-topology.json
–database-path /home/cardano/db
–socket-path /home/cardano/db/node.socket
–host-addr 192.168.220.220
–port 3001
–config /home/cardano/configs/mainnet-config.json

Hello,

Wellcome aboard!

  1. We are not in shelley era anymore, we are in allegra era, so u should use
cardano-cli query utxo \
    --address $(cat payment.addr) \
    --allegra-era \
    --mainnet
  1. Yes, u can skip and I recommend u to use this guide

  2. Yes, u can if u have enough HW resources

  3. Producer and Relay can communicate with private IPs but ur Relay needs to communicate with other public Relay via public IP, u will need a Port Forwarding on ur local router to allow outside connection to ur private Relay port 3001

Cheers,

2 Likes

Hello Alex,

  1. Thank you, that worked, thanks!
  2. Thanks for that too!
  3. Thanks!
  4. I will forward port 3001 for the relay on my public ip address. Do I need static public ip address, or I can use the dynamic public ip ?

Thanks!

hello,

U will need static IP because if you have a dynamic one each time it will change you will need to register again the relay with the new IP, and also topology updater should send again 4 messages (3 hours) with the new IP;

Cheers,

1 Like

Hello Alex,
I managed to run the relay and blockproducer node, but on the relay node I got that error:

Feb 23 01:18:20 uranus.xxx.com bash[1051]: [uranus:cardano.node.IpSubscription:Info:3866] [2021-02-22 23:18:20.86 UTC] IPs: 0.0.0.0:0 [127.0.0.1:6000] Closed socket to 127.0.0.1:6000
Feb 23 01:18:20 uranus.xxx.com bash[1051]: [uranus:cardano.node.IpSubscription:Error:90] [2021-02-22 23:18:20.88 UTC] IPs: 0.0.0.0:0 [127.0.0.1:6000] Failed to start all required subscriptions
Feb 23 01:18:21 uranus.xxx.com bash[1051]: [uranus:cardano.node.IpSubscription:Info:90] [2021-02-22 23:18:21.89 UTC] IPs: 0.0.0.0:0 [127.0.0.1:6000] Restarting Subscription after 1.026992582s desired valency 1 current valency 0

here is the mainnet-topology for the relay:
{
“Producers”: [
{
“addr”: “127.0.0.1”,
“port”: 6000,
“valency”: 1
},
{
“addr”: “relays-new.cardano-mainnet.iohk.io”,
“port”: 3001,
“valency”: 2
}
]
}

mainnet-topology for the block producer:
{
“Producers”: [
{
“addr”: “192.168.220.220”,
“port”: 3001,
“valency”: 1
}
]
}

startRelayNode.sh:
/home/cardano/.local/bin/cardano-node run
–topology /home/cardano/config/mainnet-topology.json
–database-path /home/cardano/db
–socket-path /home/cardano/db/node.socket
–host-addr 192.168.220.220
–port 3001
–config /home/cardano/config/mainnet-config.json

startBlockProducingNode.sh:
cardano-node run
–topology /home/cardano-producer/config/mainnet-topology.json
–database-path /home/cardano-producer/db
–socket-path /home/cardano-producer/db/node.socket
–host-addr 127.0.0.1
–port 6000
–config /home/cardano-producer/config/mainnet-config.json

Can you point me what can be the problem. Thanks!

Hmm, why are u using 127.0.0.1 for producer? Why not 192… like ur relay?

Because I don’t want the producer to be exposed on my local ip 192.168.220.220
seems the 127.0.0.1:6000 is working

[cardano@uranus ~]$ telnet 127.0.0.1 6000
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.

ps… they both running on the same machine but with different users

The block producing node seems to be connected to my local relay:
Feb 23 01:53:10 uranus.xxx.com bash[1049]: [uranus:cardano.node.ChainDB:Notice:90] [2021-02-22 23:53:10.21 UTC] Chain extended, new tip: b38e1f2790e98822169ff7d0a44717f47c762a11c24501bee340b10ba4475ed1 at slot 11058317
Feb 23 01:53:11 uranus.xxxx.com bash[1049]: [uranus:cardano.node.ChainDB:Notice:90] [2021-02-22 23:53:11.46 UTC] Chain extended, new tip: a56c4f2c6bbdba52baf903cbe093ff0a63072e6aa33117b5a5593d942c26c9c0 at slot 11067179
Feb 23 01:53:12 uranus.xxxx.com bash[1049]: [uranus:cardano.node.ChainDB:Notice:90] [2021-02-22 23:53:12.71 UTC] Chain extended, new tip: 3f1d267efcf3392aff071ac597f0e9d20ff624e39443d1d59e416773690b3d9e at slot 11076740
Feb 23 01:53:13 uranus.xxxxx.com bash[1049]: [uranus:cardano.node.ChainDB:Notice:90] [2021-02-22 23:53:13.96 UTC] Chain extended, new tip: 955d5adede4301b940e2f4dad0951165cb3494829fe63244b48318274bf7b83b at slot 11086383

hmm now, everything seem fine, the relay node is not complaining anymore:
[uranus:cardano.node.ip-producers:Notice:5] [2021-02-23 00:00:52.99 UTC] IPSubscriptionTarget {ispIps = [127.0.0.1:6000], ispValency = 1}

maybe it couldn’t connect because of the producer sync?

Aaa ok, make sense then to use 127…

I don’t know why ur relay generated that message… perhaps as u said it needed time

Still not working :frowning: I will wait till tomorrow

Try to start ur producer with 0.0.0.0 instead 127.0.0.1

Is that safe? Even if they are different users?

I think this is okay, I don’t have resources to run relay and producer node on different machines. About the security - if the machine got hacked both will be off. Just for the start I’m using single machine, later I will move producer node on different machine. I believe lot of people are doing this at the start.

FIY: After the night, the relay node stopped to complain about closed connection to the producer node, maybe because the producer was not yet synced. Is there any command I can use to see if they are connected now?

If u are using gliveview there is an option to see the peers by pressing P

2 Likes