Project access request error via Uplink library v1.4.1

Hey all,

Emerging from the shadows as I’m running into a weird issue using uplink v1.4.1. Maybe I’m doing something really silly here, but online documentation is not getting me anywhere.

When trying to call uplink.RequestAccessWithPassphrase to us-central-1 I’m getting a strange error which seems to imply I’m using a bad syntax for the satellite parameter. No further help! Some obscure thing I ran across, which I lost, hinted at using something like “XX@sat:port”.

Full error:

uplink: metainfo error: node ID is required in node URL “us-central-1.tardigrade.io:7777

My call (parameters simplified and obfuscated):

uplink.RequestAccessWithPassphrase(<background context>, “us-central-1.tardigrade.io:7777”, “some-api-key”, “12345”)

I’m not even sure why we would need a node ID when making an initial access request, if it is indeed needed at all.

Thanks for the help!

12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S@us-central-1.tardigrade.io:7777
12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs@europe-west-1.tardigrade.io:7777
121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6@asia-east-1.tardigrade.io:7777
1 Like

Ok, by crazy chance I ran across this which provides the satellite ID’s as soon as I posted my question:

Adding the ID prefix fixed the issue I was having.

I guess my first question is if uplink should be asking for “satellite” ID instead of “node”, which seems to be reserved for the actual storage nodes and I didn’t even make the connection until recognizing the satellite ID’s visually in this file.

Second, how are developers expected to normally find this satellite connection information? My well-versed familiarity with the project is the only way I personally managed to stumble forward.

1 Like

Thoughts?

@littleskunk : regarding renaming the required ID for clarity

@jocelyn : I’m not sure if this falls under your ream for “community” to make sure developers et all can find the accurate information to start building things. As of my post, all the how-to documentation examples were incorrect.

1 Like

@ndragun you make a good point :“well versed familiarity” should not be a requirement to get started, because we want our product to be easy for everyone to love! let me come up with some ideas and reach out when Im back in the office :slight_smile:

For the uplink CLI you actually do not need a NodeID and address of the satellite - you can select it from the text menu, you only need it for the Community satellite (the documentation is not ready yet how to configure or operate a Community satellite, it should be available in the next year).
However, for the libuplink you definitely need it.
And as you already figured that out - the code is a best documentation for the developer, because the code is a moving point, the average-user documentation would be always a little bit behind.

1 Like

Once upon a time, it was possible to connect to a satellite without knowing its nodeID. That was a perfect situation for me for a man in the middle attack. I am able to copy the API key and with that, I can have some fun. We fixed this security risk by enforcing correct nodeIDs. I can still put myself in the middle but since I don’t have the correct satellite identity files your uplink will notice what’s going on and terminate the connection early before transfering any secret information.

2 Likes

Sorry, for clarity sake, I mean calling it a “satellite ID” as opposed to a “node ID” is less confusing. I didn’t realize in the uplink library error response messages that what it was asking for was the satellite ID and was confused thinking it wanted me to provide it with a “storage node ID”.