Creating node on Windows 10

I am trying to configure an unused computer for node operation. Installed a new version of Windows 10. The computer has error free memories and 2 NAS drives on top of the SSD where the system is installed.
Opened a noip, configured the router and the windows firewall but still the Storage node won’t install. Anybody can help?

Any error messages?

Post must be at least 20 characters

can you discribe or make picture at what point it stop installing, and what setting did you entered?

Hello @longfields ,
Welcome to the forum!

Please provide the last 20 lines from your logs:

Post the text between two new lines with three backticks, like this:

```
log lines
```

not sure for the log lines but here what Powershell gives
Get-Content “$env:ProgramFiles/Storj/Storage Node/storagenode.log” -Tail 20 -Wait
2022-10-09T20:15:20.864-0400 ERROR Invalid configuration. {“error”: “invalid contact.external-address: split host-port "192.168.2.105" failed: address 192.168.2.105: missing port in address”, “errorVerbose”: “invalid contact.external-address: split host-port "192.168.2.105" failed: address 192.168.2.105: missing port in address\n\tstorj.io/storj/storagenode.(*Config).Verify:165\n\tmain.cmdRun:188\n\tstorj.io/private/process.cleanup.func1.4:378\n\tstorj.io/private/process.cleanup.func1:396\n\tgithub.com/spf13/cobra.(*Command).execute:852\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:960\n\tgithub.com/spf13/cobra.(*Command).Execute:897\n\tstorj.io/private/process.ExecWithCustomConfigAndLogger:93\n\tstorj.io/private/process.ExecWithCustomConfig:75\n\tstorj.io/private/process.Exec:65\n\tmain.(*service).Execute.func1:61\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57”}
2022-10-09T20:15:20.864-0400 FATAL Unrecoverable error {“error”: “invalid contact.external-address: split host-port "192.168.2.105" failed: address 192.168.2.105: missing port in address”, “errorVerbose”: “invalid contact.external-address: split host-port "192.168.2.105" failed: address 192.168.2.105: missing port in address\n\tstorj.io/storj/storagenode.(*Config).Verify:165\n\tmain.cmdRun:188\n\tstorj.io/private/process.cleanup.func1.4:378\n\tstorj.io/private/process.cleanup.func1:396\n\tgithub.com/spf13/cobra.(*Command).execute:852\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:960\n\tgithub.com/spf13/cobra.(*Command).Execute:897\n\tstorj.io/private/process.ExecWithCustomConfigAndLogger:93\n\tstorj.io/private/process.ExecWithCustomConfig:75\n\tstorj.io/private/process.Exec:65\n\tmain.(*service).Execute.func1:61\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57”}
2022-10-10T08:56:21.075-0400 INFO Configuration loaded {“Process”: “storagenode”, “Location”: “C:\Program Files\Storj\Storage Node\config.yaml”}
2022-10-10T08:56:21.083-0400 INFO Anonymized tracing enabled {“Process”: “storagenode”}
2022-10-10T08:56:21.089-0400 FATAL Unrecoverable error {“Process”: “storagenode”, “error”: “storagenode configuration already exists (C:\Program Files\Storj\Storage Node)”}
2022-10-10T09:01:08.564-0400 INFO Configuration loaded {“Process”: “storagenode”, “Location”: “C:\Program Files\Storj\Storage Node\config.yaml”}
2022-10-10T09:01:08.570-0400 INFO Anonymized tracing enabled {“Process”: “storagenode”}
2022-10-10T09:01:08.578-0400 FATAL Unrecoverable error {“Process”: “storagenode”, “error”: “storagenode configuration already exists (C:\Program Files\Storj\Storage Node)”}
2022-10-10T09:03:40.342-0400 INFO Configuration loaded {“Process”: “storagenode”, “Location”: “C:\Program Files\Storj\Storage Node\config.yaml”}
2022-10-10T09:03:40.344-0400 INFO Anonymized tracing enabled {“Process”: “storagenode”}
2022-10-10T09:03:40.349-0400 FATAL Unrecoverable error {“Process”: “storagenode”, “error”: “storagenode configuration already exists (C:\Program Files\Storj\Storage Node)”}
2022-10-10T09:09:07.031-0400 INFO Configuration loaded {“Process”: “storagenode”, “Location”: “C:\Program Files\Storj\Storage Node\config.yaml”}
2022-10-10T09:09:07.032-0400 INFO Anonymized tracing enabled {“Process”: “storagenode”}
2022-10-10T09:09:07.038-0400 FATAL Unrecoverable error {“Process”: “storagenode”, “error”: “storagenode configuration already exists (C:\Program Files\Storj\Storage Node)”}
2022-10-11T20:08:12.715-0400 INFO Configuration loaded {“Process”: “storagenode”, “Location”: “C:\Program Files\Storj\Storage Node\config.yaml”}
2022-10-11T20:08:12.723-0400 INFO Anonymized tracing enabled {“Process”: “storagenode”}
2022-10-11T20:08:12.732-0400 FATAL Unrecoverable error {“Process”: “storagenode”, “error”: “storagenode configuration already exists (C:\Program Files\Storj\Storage Node)”}
2022-10-11T20:23:09.347-0400 INFO Configuration loaded {“Process”: “storagenode”, “Location”: “C:\Program Files\Storj\Storage Node\config.yaml”}
2022-10-11T20:23:09.347-0400 INFO Anonymized tracing enabled {“Process”: “storagenode”}
2022-10-11T20:23:09.357-0400 FATAL Unrecoverable error {“Process”: “storagenode”, “error”: “storagenode configuration already exists (C:\Program Files\Storj\Storage Node)”}

Between our router and the computer, we have a switch. Not sure if it can create the pb.

We thought we needed Raid, it does not seem so. Can we use several Hard drives or is it better to use only one big?

error storj

if you try do install second node to this machine by installer, it is not possible.
it speaks that you have already installed it.
if it first one that you several time tried to install,so you need to find storagenode service and start it, then if it gives error. go to
C:\Program Files\Storj\Storage Node and search in logs why it not start.

This log entry shows one issue. You should edit the config.yaml file in C:\Program Files\Storj\Storage Node so the contact.external is listed as dnsname:port or publicIP:port for the public internet. Currently you have just specified an internal IP address without a port.

FYI I would guess the node is installed already but just misconfigured.

Yes.
FATAL Unrecoverable error {“error”: “invalid contact.external-address: split host-port “192.168.2.105” failed: address 192.168.2.105: missing port in address”,

this mean that you configured your pc as external addres and no port.
Go to config file, and make all configuration as it shold be.
Then start service.

Please edit your config.yaml (Where can I find the config.yaml? - Storj Node Operator Docs) with a plain text editor, such as Notepad++ (do not use a regular Notepad, it could break your config). When changes are made, save the file (it may ask administrator’s rights - provide them and save again), then restart the storagenode service either from the Services applet, or from the elevated PowerShell:

Restart-Service storagenode

If this a switch, not a router - then you just need to create an incoming rule on your router to forward 28967 TCP+UDP ports to your PC.
If this is a router, then you need to forward on your first router 28967 TCP+UDP ports to the IP of the second router, then create a similar rule on the second router but forward these ports to the IP of your PC.

Dear Alexey
Thanks for advices
I downloaded Notepad++ and opened the config.yaml
only a few lines are blue.I am not sure of what should be changed and by what

Please find a copy where I removed only the wallet key.

How does it look for you?
Does the hardrive need to be formatted? If yes, which type?
The computer boots on an ssd and I just got a new 16Tb, so I will change the amount available.
Can we have 2 hdd?
What should be the bandwidth? it is 0 in the config? we have a 1.5 Gbps fiber but the computer is after a cat6 cable

Thanks and regards

Alain

(Attachment config copy.yml is missing)
didn’t know this was coming to the forum
most of the lines of the file are empty such as the following ones

# how frequently the node contact chore should run
# contact.interval: 1h0m0s

# Maximum Database Connection Lifetime, -1ns means the stdlib default
# db.conn_max_lifetime: 30m0s

# Maximum Amount of Idle Database connections, -1 means the stdlib default
# db.max_idle_conns: 1

# Maximum Amount of Open Database connections, -1 means the stdlib default
# db.max_open_conns: 5

# address to listen on for debug endpoints
# debug.addr: 127.0.0.1:0

# expose control panel
# debug.control: false

# If set, a path to write a process trace SVG to
# debug.trace-out: ""

# open config in default editor
# edit-conf: false

# in-memory buffer for uploads
# filestore.write-buffer-size: 128.0 KiB

# how often to run the chore to check for satellites for the node to exit.
# graceful-exit.chore-interval: 1m0s

# the minimum acceptable bytes that an exiting node can transfer per second to the new node
# graceful-exit.min-bytes-per-second: 5.00 KB

# the minimum duration for downloading a piece from storage nodes before timing out
# graceful-exit.min-download-timeout: 2m0s

# number of concurrent transfers per graceful exit worker
# graceful-exit.num-concurrent-transfers: 5

# number of workers to handle satellite exits
# graceful-exit.num-workers: 4

# Enable additional details about the satellite connections via the HTTP healthcheck.
healthcheck.details: false

# Provide health endpoint (including suspension/audit failures) on main public port, but HTTP protocol.
healthcheck.enabled: true

I am not sure the node is created

PS C:\Windows\system32> Restart-Service storagenode
Restart-Service : Cannot find any service with service name ‘storagenode’.
At line:1 char:1

  • Restart-Service storagenode
  •   + CategoryInfo          : ObjectNotFound: (storagenode:String) [Restart-Service], ServiceCommandException
      + FullyQualifiedErrorId : NoServiceFoundForGivenName,Microsoft.PowerShell.Commands.RestartServiceCommand
    
    

PS C:\Windows\system32>

You doesn’t need to change anything additional except what you need. In this case you need to change your external address.

Yes, it should be formatted to NTFS.

Yes, you may create a second node: How to add an additional drive? - Storj Node Operator Docs
However do not rush to do that. Every new node must be vetted. Unvetted node can receive only 5% of the customers’ uploads until got vetted. To be vetted on one satellite, the node should pass 100 audits from it. For the one node in the same /24 subnet of Public IPs it should take at least a month (or more). Having more vetting nodes in the same subnet may increase vetting time in the same amount of times as an amount of such nodes. So it’s better to start the next node only when the previous one almost full or at least vetted.

It’s not used, leave default.

There is no one option which can help to increase incoming traffic, the space and bandwidth are used by real people not machines, thus hardware almost doesn’t matter (except using SMR drives or network attached drives - they are slow, in case of network drives they also are not supported and not recommended).

Then your storagenode is not installed properly. So, uninstall the node, delete C:\Program Files\Storj and install again, but now provide a correct external address with port.

Dear Alexey

Thanks for your reply, advices are great.
I am still unsure on what is the syntax for the external address and where exactly to put it. (which line, public or dns, should it be port: 123.123.1.2 or simply 123.123.1.2
If you could copy an example of lines in config.yaml, that would be great
Thanks

It might have worked but then, an internet page opened with localhost in the top bar saying : humm, can’t reach the page

You need to provide it in the format 123.123.3.4:28967 or my.ddns.org:28967 in case of your own domain (replace the fake IP/hostname with yours).

The dashboard is not available, because the storagenode service is stopped. The reason you can see in the logs.

Hi Alexey

Thanks for your reply,
After using your syntax I restarted the computer, I opened Node Dashboard, the status is online and QUIC is OK.
After 6 min, the bandwidth used is 28 MB.
So, it seems to be working fine

Thanks

Alain

2 Likes

303MB at 47min and all Suspension & audit at 100%
definitely looks fine to me