How to withdrawal from Hotbit to grin-wallet

Hello there,
i’m new to GRIN and wanted to buy some GRIN on Hotbit and transfer it to my wallet on my linux-VM.
On Hotbit when i go to Fund–> Deposits &Withdrawal -> Grin Withdrawal, it states:
“GRIN Withdrawal Address: Please input your withdrawal address below”
However i thought the standard-GRIN-wallet does not have any “Address”. So i don’t understand what to do here in case i buy GRIN on the exchange. Any advice would be well appreciated!
btw the response of the Hotbit-Staff to my query was:
“Hi, it is normal of your address, can you tell me why you said you haven’t a address?”
I don’t know what that means.

1 Like

The address would be http://your.external.ip:3415

You need to forward the port to your VM and start a wallet listener on your VM IP address.

Check with https://www.yougetsignal.com/tools/open-ports/

Hotbit does not pay a network fee though and you may have to wait a few days.

Thank you for the hints.

i just cant get it to run and don’t know what to do anymore.

  • I tried it on a VM (brigde-Adapter in vm-settings + appropriate settings in Router).
  • I installed linux directly on a machine to avoid possible problems with port-forwarding to VM. Unfortunately the same result (firewall on linux was off)
  • Finally i downloaded the beta release of grin + grin wallet for windows 10.
    The Port stays always closed.
    The steps were always the same
  1. i went into router (fritzbox) and opened port. The settings:
    Protocol: TCP + Port: 3415 + [Local IP of PC or of VM]

  2. i disabled windows/linux-firewall.

  3. installed grin-server. Run it in open terminal.

  4. create new wallet (“grin wallet init”)

  5. open listener with command “grin wallet -e listen”

  6. running both server and wallet in background.

  7. going to https://www.yougetsignal.com/tools/open-ports/ and typing in Port 3415 says:
    “Port 3415 is closed on [External IP]”

I think port forwarding is rather complicated with fritzbox. At least one Übernehmen to many.
Does it show in Heimnetz -> Netzwerk -> Netzwerkverbindungen?

You also need to update api_listen_interface in ~/.grin/main/grin-wallet.toml to 0.0.0.0

api_listen_interface = "0.0.0.0"

@Coiner: The VM is listed in “Fritzbox->Heimnetzübersicht” as a normal PC (because of the bridge-mode setting in VM-Network-Options).
@kargakis: I did change the entry in the wallet.toml file on my windows system, but it still did not work out.
I discussed the issue in depth here: https://www.computerbase.de/forum/threads/forward-port-zu-vm.1866104/ (unfortunately in german language), the folks there could not help me.
It seems impossible with the hardware i got (nothing fancy) to set the HTTP-Listener up properly, so i’ll leave it be for now. Thanks for the help guys, you’re great.

Next to the entry in “Fritzbox->Heimnetzübersicht” should be mentioned the port forwarding and it should have a green dot, I think.

If you want to have a Grin to do experiments, I could try to get you one by file transfer.

I have found the reason why i could not get it to run and why the http-Listener will not work for me: Im connected via a “DS-Lite”-Connection to the Internet.
This means that my Internet service provider will only provide me with access via the IPv6 Internet protocol. Internet addresses can only be reached via IPv4 via a special gateway by the provider. Basically this is not bad as i can reach both IPv6 and IPv4 (via the Proivdergateway) remote stations on the Internet.

However, this also means that my local devices can no longer be reached via IPv4 addresses from the outside (=Internet). Therefore i can no longer access internal devices like webcam, NAS or remote desktop from “old” IPv4 connections. In short: Port Forwarding does not work with DS-Lite / IPv6 as i understand it.
I think this may be a serious issue in the future because Grin seems to rely on IPv4 and there already are areas where IPv4 has been completely replaced by IPv6 and therefore port forwarding does not work (prominent example: My home)

2 Likes

A couple of things:

First, according to RFC2732, http should work just fine with ipv6. So in theory the grin wallet should be able to support sending to an ipv6 address, unless ipv6 is not supported yet by the underlying rust http library.

Second, in order to communicate over ipv6, the whole connection needs to be done e2e over ipv6. So it’s not only a potential issue with the grin wallet not being able to send to an ipv6 address, but also the exchange you are trying to receive money from might not be routable via ipv6.

Last, did you manage to run a grin node and sync with the blockchain? I don’t think the p2p layer supports ipv6 either so even if the http stuff was a non-issue, I think you would still have an issue receiving grin because the grin wallet needs the node in order to verify the received outputs.

I had a quick look at the grin p2p crate and I saw ipv6-related code so it may actually be supported already. Someone with an ipv6 address would have to verify that (assuming there are other ipv6 nodes in the network).

running a node itsself is no problem. I already have confirmed transactions (via trasaction-files) in my wallet (thanks to Coiner!!). My Problem is with the http-listener, which requires an open Port 3415 so the wallet itsself can be adressed from the outside (like “send to http://myexternalIP:3415”).

Opening a Port does not work with IPv6, thus the address-example above may (!) not work with Exchanges (and other wallets) which wants to send grin via http-listener and need that Port 3415 open. I did not buy any grin on an exchange that only supports withdrawal via http-listener (like Hotbit) because im afraid that i wont be able to withdraw the coins to my wallet because of the discussed issue.

I am not sure that’s true, you just need to enclose the ipv6 address in square brackets like the following example:

grin wallet send -d http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:3415 10

The grin wallet uses hyper for http and hyper seems to support sending to ipv6 addresses, eg., they have implemented Happy Eyeballs which is basically a protocol that falls back to ipv4 in case ipv6 does not work when a server is routable via both stacks. In case that send does not work, then I can open an issue in the grin wallet repo.

EDIT: Went ahead and opened Grin payments to ipv6 addresses · Issue #38 · mimblewimble/grin-wallet · GitHub to ensure this gets added in the repo tests.

today i finally could open the port 3415 for my PC. I called at my ISP for assigning me IP4 adresses.
We have a Modem (i never paid much attention to) that we got from our ISP and a Fritzbox we use as a router that is connected via LAN-Cable to that modem. I always tried to open the port on the fritzbox-router. However today i connected my pc via LAN-cable directly to the Modem itsself, opened the port “3415” for the local IP of my connected PC, fired up the grin-wallet listener and https://canyouseeme.org/ finally did recognize the open port.
To sum it up: I did open the port in the router, but not in the modem, therefore it remained closed all the time, regardless of the router-settings & windows-firewall-settings.

This whole HTTP-Listener System is really odd to me. When you’re not at home, where you have opened a port in your modem-settings for a specific internal IP, you will literally not be able to receive coins because you rely on an open port specific to a given internal IP.

Are there any plans to change this? Because it seems to me that the use-case of the http-listener is really restricted because of the dependency of open ports.

At the moment, the main grin wallet supports file-based and keybase transactions apart from http. Soon we will hopefully have i2p support.

There is also wallet713 among some other wallets that supports transactions via Grinbox.