Is this Grin Wallet URL Reachable?

I’m personally releasing a Tor Hidden Service to check whether a Grin Wallet is reachable or not. Users just need to enter the HTTP Address; the service will be online for a while until HTTP Transaction is finally deprecated by Grin. The service is available only through Tor and no logs are stored in any manner.

The Tor URL is this: http://grinchck.ahcbagldgzdpa74g2mh74fvk5zjzpfjbvgqin6g3mfuu66tynv2gkiid.onion/

Also the code in available on Github if you want to hosted by yourself: https://github.com/davidtavarez/grinaddresschecker.

I’m using the Grin++ logo because I like the logo… a lot!

11 Likes

Just on a personal note, does it really need to be PHP ?

Well… I’m using cURL to make the request to avoid CORS restrictions. Some services will block the request if the request is made using fetch from the browser, with cURL I don’t have that issue, that’s why I’m using PHP, also because is easier to deploy and host anywhere, even locally.

It would be more helpful to the community if you would also provide a non-tor URL to access this service.

The non-tor URL is: https://grinchck.uber.space/

The input can be either the Grin “Address” or the HTTP URL. If an address (specifically a non valid HTTP URL) is submitted, I’m using the grinplusplus.com tunnel since it can be used publicly by anyone. The HTTP addresses provided by exchanges are supported too.

Right now, the service is hosted at Uberspace.de if anyone wants to host the script by their own feel free to do it, it only needs PHP and cURL. Uberspace is privacy friendly and offers Tor Hidden services by default.

For those folks who wants to contribute, there are 3 ways to do it:

  1. Test the service and give me some feedback, please.
  2. Open a PR on Github.
  3. Make a small donation to keep hosting the service at Uberspace.de (it can be whatever).

Thanks.

3 Likes

I highly recommend only using the tor version. Otherwise, you’re leaking some privacy to David by tying your IP address to your tor address.

4 Likes

Great work David. It works like a charm!!

I’m trying to make a wallet send using Tor on Mac but keep getting this error:

grin_wallet_impls::adapters::http - Performing version check (is recipient listening?): Request error: Cannot make request: error trying to connect: dns error: failed to lookup address information: nodename nor servname provided, or not known

What am I doing wrong? I’m on latest master for both my node and the wallet.

The destination address is said to be reachable using the tool available on this forum post.

What’s your tor address? I can test it.
It’s possible it’s blocked by your ISP. Hidden services can just silently fail in the background when ISPs block.

1 Like

Here is the command that fails on my Mac:

grin-wallet send -d h4sce4qpibyjcfqa5stk67yprejj2rfbl2ebcddpyrvbgmpjzmfnsoid 1.0
Password:
Wallet command failed: Generic error: Invalid wallet comm type and destination. method: http, dest: h4sce4qpibyjcfqa5stk67yprejj2rfbl2ebcddpyrvbgmpjzmfnsoid

I’m on grin-wallet latest master.

Nice work, bro! I was just looking for a tool like this +1

Are you trying to send from grin-wallet to Grin++? Update to 1.0.5 please and try again.

Both are running latest master grin-wallet, the receiving one is a Linux VPS.

@davidtavarez does it work with floonet wallets too?

never tested before, but I think it should.

I can confirm that it seems to work, at least it finally says that my floonet wallet is reachable.

Just a quick update here: Slatepack Addresses are accepted.

You can access this through Tor: http://grinchck.ahcbagldgzdpa74g2mh74fvk5zjzpfjbvgqin6g3mfuu66tynv2gkiid.onion/

Or clearnet: https://grinchck.uber.space/

You can also read the code and self-host the tiny tool: GitHub - davidtavarez/grinaddresschecker: Check whether a Grin Wallet is Reachable or not

@mcm-mike you can now update this Grinnode.live :slight_smile:

3 Likes

Thank you, we will upgrade in the near future.

For those who use cli-wallet: Your wallet is not reachable if you run an outdated tor version. Upgrade if possible to latest versions.

Hi @davidtavarez, I am trying to convert php code to javascript in order to integrate into grinnode.live.

Here is jupyter notebook for calculation of each step. Could you have a look if I am missing something/ doing something wrong at any of steps?

I don’t know if I am deriving pkb (public key) correctly. Output of reference php output is

resim

while my implementation is

resim

I am also confused about checksum calculation. According to your code and documentation, pkb must be unifed with “.onion checksum” and “\x03” but do I need to convert it to binary string or stg like that. Calculated checksum does not match at last step.

(array named “decoded” matches with reference php output)