Wallet can't connect (sync) to FullNode on local network

Hi guys, I’m lost and I don’t know what else to do but cry here :slight_smile:

Setup:
PC1 (host, Windows 10, Chia 1.2.3.): 192.168.1.2 FullNode, Wallet1 key, all synced, everything working perfectly 192.168.1.2
PC2 (VirtualMachine (same hardware PC1),Windows 10, Chia 1.2.3.): 192.168.2.3., Wallet2 key, No FullNode, no Harvester, no Farmer, running only Wallet and daemon.

PC1 can ping PC2 and vice-versa, both PCs are connected to internet (shared vEthernet adapter on host PC1).

PC2 config file:

...
wallet:
  ...
  full_node_peer:
    host: 192.168.1.2
    port: 8444
...

Without this config edit PC2 can start sync freely over internet both FullNode and Wallet2 so it is working.
When I apply config edit and I want my PC1 to be FullNode for PC2 so Wallet can sync issues appear.
Same exact setup I have on flax and it is working perfectly and I have no clue what is different.
Both machines have synced Time and TimeZone from windows time server.

PC1 sees that PC2 has connected its wallet to PC1 but there is no data transfer for syncing 0/0 Mbit/s
This comes from my log on PC2:


wallet chia.wallet.wallet_node    : INFO     Loop end in sync job
wallet chia.wallet.wallet_node    : INFO     Loop start in sync job
wallet wallet                     : INFO     Reconnecting to peer {'host': '192.168.1.2', 'port': 8444}
wallet wallet_server              : INFO     Connected with full_node {'host': '192.168.1.2', 'port': 8444}
wallet chia.wallet.wallet_node    : INFO     self.sync_event.set()
wallet chia.wallet.wallet_node    : INFO     Have collected 1 potential peaks
wallet chia.wallet.wallet_node    : INFO     Requesting blocks 0-32
wallet wallet_server              : INFO     Connection closed: 192.168.1.2, node id: 
wallet chia.wallet.wallet_node    : ERROR    Error while trying to fetch from peer:Peer returned no response Traceback (most recent call last):
  File "chia\wallet\wallet_node.py", line 527, in batch_sync_to_peak
  File "chia\wallet\wallet_node.py", line 679, in fetch_blocks_and_validate
ValueError: Peer returned no response

wallet chia.wallet.wallet_node    : ERROR    Loop exception in sync Was not able to add blocks 0-32. Traceback (most recent call last):
  File "chia\wallet\wallet_node.py", line 580, in sync_job
  File "chia\wallet\wallet_node.py", line 660, in _sync
  File "chia\wallet\wallet_node.py", line 537, in batch_sync_to_peak
RuntimeError: Was not able to add blocks 0-32

And it keep repeating.
I tried to push wallet sync without PC1 FullNode (FullNodes from internet) and it started syncing again, but when I apply IP of PC1 it stops.
What am I missing?

I thought I’d give this a try as I was curious if I could sync a wallet without running a full node.

So on a fresh install of chia on my laptop I edited my config file to have the wallet point to my FULL_NODE PC, UPnP off. Log level ‘DEBUG’.

Ran: chia start wallet-only

Annnnd, it did nothing. The connection would show up on my FULL_NODE PC with:

WALLET    192.168.1.52              0.0 | 0.0

And it just sat there like that.

On my laptop no errors. Just said it was connected and received a new peak. But didn’t start downloading the wallet blockchain.

So, I went to check the wallet height with chia wallet show.

It showed an error saying:

No online backup was found,
 Press S to skip restore from backup
 Press F to ...

so I hit ‘S’, and my wallet showed, with a height of ‘0’.

But then boom, in the logs it started syncing!

Now the FULL_NODE PC chia show -c shows:

WALLET    192.168.1.52            119.4 | 0.0

and my wallet is updating.

So it does appear to work with stock chia software.

Running on ubuntu 20.04 for both PC and laptop. PC running chia 1.2.3, laptop is running 1.2.4.


My guess is check your windows firewall settings on PC 1 and see if it is allowing incoming connections on port 8444. Or try turning it off altogether (temporarily) to see if that is blocking communications between the two.

Exactly same issue… it is worth a try… many thanks for detailed reply!
I’ll return with results.

Unfortunately it did not helped.
But additional information.
I was paying attention more closely and saw that FullNode PC1 is sending some data, but then it stops.
Firewalls both on PC1 and PC2 are turned off.
image

In DEBUG mode I get this:
Time for request request_header_blocks: {'host': '192.168.1.2', 'port': 8444} = 25.126431465148926, None? True

Any other ideas? I think the solution is something that I missed but I don’t know why. It is even more puzzling since Flax on second VirtualMachine is running perfectly with exact same setup.

I’ll try to tackle this on GitHub to see if somebody there can help.

Double check your config.yaml. Not sure why its trying to connect on port 8449.

If that doesn’t work, try nuking your chia installation and deleting both the chia-blockchain directory and the .chia directories and starting over.

In the meantime, I’ll run the same test in a windows VM for you.

Thx for support.
In config.yaml PC2 port is set to 8444 but on PC1 it appears like in the picture 8449 same as every wallet that is connected to PC1’s node.
I tried also with 8449 without success, and few times I tried deleting chia in AppData as well as .chia.
I’m missing something very simple I’m sure of that because Flax is working on identical setup (different port of course).
If it works for you from the first try, I’ll have to review my entire LAN/PortForward setup since this should be quite easy and straightforward setup.

Additional info for VM, maybe there is something:
PC1:
LAN: IP 192.168.1.2, Gate 192.168.1.1 (home ISP router) , Subnet 255.255.255.0, DNS 8.8.8.8 and 8.8.4.4 (internet Sharing to virtualAdapter)
virtualEthernet adapter: IP 192.168.2.4, Gate 192.168.1.2, Subnet 255.255.0.0, DNS none

PC2 (VM):
LAN: IP 192.168.2.3, Gate 192.168.2.4, Subnet 255.255.255.0, DNS 8.8.8.8 and 8.8.4.4

With this config I have internet and ping in both directions. I’m questioning maybe Subnet setup on virtualEthernet on PC1. Should it be 255.255.240.0 or something

TL;DR. It works on my windows VM.


Windows VM to Linux (Full-Node)

So I tried the same set-up as yesterday but with a windows on my Full-Node Linux PC.
Fresh install of Chia-Blockchain software, configured the wallet to point to the Linux host. And ran through the same steps. Started it with

.\chia start wallet-only

Again, it did nothing. So I ran .\chia wallet show hit S at the prompt,

and it started synching.

So that’s working.


Windows VM to Windows VM (Full-Node)

This was harder to set up. Had problems trying to connect to the VMs, in the end I had to turn off the private network firewall on both machines to ping each other. Both machines were connected to the network on a VMware NAT.

Once I was able to ping both VMs I ran the same commands as before, chia start wallet-only, chia wallet show hit S. But this time I got the same error you did.

But after a couple of minutes, while checking my settings, it started syncing on its own.

Screenshot from 2021-08-12 14-45-11


So as far as I can tell, it should just work.

Really the only thing I had to do was:

  • Check all machines and VMs had the same keys.
  • They could ping each other.
  • config.yaml → wallet → full_node peer pointing to the full node’s IP
  • start chia start wallet-only
  • run chia wallet show
    • Hit S at the prompt`

And just waited.

Thanks man for the support.

It should be that easy yes… Now I know that my issue is on network connection. Possibly trough VM NAT that I need to review and perhaps make some route.