BUT storagenode.exe does not create trust-cache.json file and Orders directory.
AND storagenode.exe is giving me the error:
run storagenode.exe --config-dir=“D:\STORJ\STORJNODE11\Config” run
2021-05-07T18:00:02.713+0300 INFO Configuration loaded {“Location”: “D:\STORJ\STORJNODE11\Config\config.yaml”}
2021-05-07T18:00:02.739+0300 INFO Operator email {“Address”: “email@gmail.com”}
2021-05-07T18:00:02.745+0300 INFO Operator wallet {“Address”: “0x0000000000000000000000000000000000”}
2021-05-07T18:00:02.749+0300 INFO db database does not exists {“database”: “info”}
2021-05-07T18:00:02.754+0300 INFO db database does not exists {“database”: “bandwidth”}
2021-05-07T18:00:02.757+0300 INFO db database does not exists {“database”: “orders”}
2021-05-07T18:00:02.760+0300 INFO db database does not exists {“database”: “piece_expiration”}
2021-05-07T18:00:02.765+0300 INFO db database does not exists {“database”: “pieceinfo”}
2021-05-07T18:00:02.776+0300 INFO db database does not exists {“database”: “piece_spaced_used”}
2021-05-07T18:00:02.781+0300 INFO db database does not exists {“database”: “reputation”}
2021-05-07T18:00:02.791+0300 INFO db database does not exists {“database”: “storage_usage”}
2021-05-07T18:00:02.797+0300 INFO db database does not exists {“database”: “used_serial”}
2021-05-07T18:00:02.801+0300 INFO db database does not exists {“database”: “satellites”}
2021-05-07T18:00:02.806+0300 INFO db database does not exists {“database”: “notifications”}
2021-05-07T18:00:02.813+0300 INFO db database does not exists {“database”: “heldamount”}
2021-05-07T18:00:02.817+0300 INFO db database does not exists {“database”: “pricing”}
2021-05-07T18:00:02.821+0300 INFO db database does not exists {“database”: “secret”}
Error: Error creating revocation database: revocation database error: could not parse DB URL D:\STORJ\STORJNODE11\revocations.db storj.io/storj/private/revocation.OpenDB:30 storj.io/storj/private/revocation.OpenDBFromCfg:23
main.cmdRun:169 storj.io/private/process.cleanup.func1.4:363 storj.io/private/process.cleanup.func1:381 github.com/spf13/cobra.(*Command).execute:852 github.com/spf13/cobra.(*Command).ExecuteC:960 github.com/spf13/cobra.(*Command).Execute:897 storj.io/private/process.ExecWithCustomConfig:88 storj.io/private/process.ExecCustomDebug:70
main.main:385
runtime.main:204
I waited to create node 12 hours.
identity.exe create MyNode -
took over 12 hours 4 cores 3Ghz. I gave up.
there is something wrong with binary.
Generated 909158400 keys; best difficulty so far: 352021-05-08T02:28:01.934+0300 INFO Got a signal from the OS: “interrupt”
Generated 909158500 keys; best difficulty so far: 35Error: node ID error: context canceled
Now you can create your nodes like a killing spree
I would need some help reading sc reports and filtering it.
–server.private-address string private address to listen on (default “127.0.0.1:7778”)
–server.address string public address to listen on (default “:7777”)
–contact.external-address string the public address of the node, useful for nodes behind NAT
I don’t understand this.
what does it mean “–server.private-address” ?
can port be the same as for --server.address?
If I do not start the node which is authorized with token of same email, as other running nodes, and same payment address as other nodes - will it affect my total payment or rating?
Can I rid of disk space check? 2021-05-08T18:59:43.779+0300 ERROR piecestore:monitor Total disk space is less than required minimum {"bytes": 500000000000}
ok just did it…
The another question:
If I connect HDD partition into NTFS folder, why do I still have space requirements error?
This is address and port for CLI dashboard. It cannot be the same as server.address.
The contact.external-address is address and port, advertised to the satellites. This address will be used by satellites and customers to contact your node.
The email address is unrelated to the node’s reputation, only audits score, suspension score and online score. Each node is independent of each other.
The mounted folder do not report the free space correctly, so you will get this error. Why you do not want to use a native way for Windows to mount disks to letters?
Because I want config to be in uniform way.
In order for nodes to be easily plugable and transferable to other PCs.
Within same local network or with out.
storagenode.exe setup did not uncomment orders location in config.yaml
And I had errors about disk space requirements not met , having over 700GB free space though… (disk is mounted to separate letter)
Allocated: 5GB
Advertise: 500GB
I had to decrease size to
Allocated: 100GB
Advertise: 100GB
And only then node started.
I started it as program, not service.
Because Windows reports free space on mounted disk (which has letter assigned). In your case I think it’s C:\ and it has not more than 100GB free, or at least it doesn’t have 500GB of free space.
It did, at least till I changed size from 500GB to 100GB
Directory O:\STORJ\STORJNODE08\Data
I think it is because Allocated was set to only 5GB - too small.
For now I think starting with 30GB is ok.
I have generated 4 nodes with script and they are running in my home network.
Now I’m interested if storagenode can work with relative paths.
because for detachability this is absolutely necessary.
And the other question what is it storagenode-updater.exe actually does?
Does it update data strcture or it updates the binary only?
Relative paths could not work.
storagenode-updater updates binaries (storagenode and itself). The migration is performed by storagenode.
The special purpose of the updater is updating nodes accordingly rolling update procedure, it tracks cursor on https://version.storj.io/ to update a binary only when NodeID would match the cursor. This allows us to do not shutdown a whole network, if we would introduce a bug. We will have a time to fix an issue before it would be too late.
Put binaries into Bin folder into your nodes dedicated Folder.
Unpack batch nearby.
Put auth token into Tokens\01.txt file (it may be any text file. 01 is not related to node nmber)
Adjust settings in batch/main.config.txt accordingly to your layout.
Run in a sequence:
create
authorize
setup
gen_install
You will see aside with STORJNODE__ folder, the
install_STORJNODE__.bat
and
remove_STORJNODE__.bat
files will apper.
install for:
storagennode and storagenode-updater services registering
Starting services
Firewall port opening
remove for:
Stopping services.
storagennode and storagenode-updater services unregistering
removing Firewall rules and port closing.
Simple as THAT!
Though you will have to manually do replacement of configuration and data files locations in config.yalm.
And of course, external IP address too!
Script for autoreplacement is yet to be written.
You should not create more than 1 node on a partition for the reason of updater services are targetting same binary.
Thus there certainly inconsistencies will occur.
The obvous solution is to Copy Bin \ *.exe forder per node.
Now you can easlily detach your node and transfer it to another windows based machine in a matter of minutes.
And finally forget about windows system folders nightmares.
Put binaries into Bin folder which should be inside of your nodes’ dedicated Folder.
Unpack batch nearby.
Put auth token into Tokens\01.txt file (it may be any text file. 01 is not related to node number)
Adjust settings in batch/main.config.txt accordingly to your layout.
Dont forget to create Bin folder nearby your node folder if you are going to use dedicated binaries.
You should not create more than 1 node on a partition for the reason of updater services are targetting same binary.
Thus there certainly inconsistencies will occur.
The obvous solution is to Copy Bin \ *.exe forder per node.
Now you can easlily detach your node and transfer it to another windows based machine in a matter of minutes.
And finally forget about windows system folders nightmares.
I don’t see any reason for storagenode daemon to update itself.
storagenode-updater.exe weights more than storagenode itself.
Why? What it does?
42 Mb for updater? There must be the whole remote OS in there!
Is it?
If it all was designed for 1 node per IP and daemon itself eats up hundred times less memory than required for running a node, - why can’t it just update itself?
in windows App cant update itself, to copy new file service need to stop, and if it stop it cant copy itself , because it not work any more. Thats why external updater.
I designed my own updater, that update all servises in windows that has file name storagenode.exe