Multinode payout information bug

Hey @Alexey is there any node with payouts available I was looking into this issue but my nodes don’t have payouts or that much disk usage.

You may use storj-up node and generate a usage

storj-up testdata payment 2024-07

Then add one of the nodes to the multinode dashboard

docker compose exec storagenode1 storagenode info

It would show also the public address like storagenode1:30001, but you need to use the IP of your host instead of storagenode1, also you need to expose the 30001 port of course.

Oh ok, thanks for the help.
My multinode is working fine. I am adding some error notifications to the multinode dashboard. Eg: Node is down or connection error type.

2 Likes

I have generated the payout testdata but all the nodeIDs are randomly generated. So I am still getting 0 in the payout section.
I tried with storj-up testdata payment <node_id> but it also didn’t work.
How to link the test data with a particular node?

I’m not sure, that it’s possible to make it for the one node only, so asked for help.

The testdata command doesn’t support specifying a specific node when generate payment and paystub entries, but that would be a great feature addition!

You can request new features for storj-up by adding an issue here as a feature request.

Currently, the testdata payment command will create a random amount of fake stored data for each node that has contacted the satellite. Then it will use this amount, to calculate the paystub and compensation payouts. These payouts are then stored in the database table storagenode_paystubs.

If you are not seeing anything in the payout section of the node dashboard, can you verify that the database has populated this table?

1 Like

Yeah I was looking into this. The storagenode_paystubs is populated with dummy data.


But the node’s id’s are not my running node id’s. So my node dashboard is empty.

However I am seeing the payout api is running

`SELECT
			satellite_id,
			created_at,
			codes,
			usage_at_rest,
			usage_get,
			usage_put,
			usage_get_repair,
			usage_put_repair,
			usage_get_audit,
			comp_at_rest,
			comp_get,
			comp_put,
			comp_get_repair,
			comp_put_repair,
			comp_get_audit,
			surge_percent,
			held,
			owed,
			disposed,
			paid,
			distributed
		FROM paystubs WHERE period = ?`

This query to the database.
Does the paystubs database fetches data from the storagenode_paystubs while creaton of nodes??

Usually on restart or every some fixed amount of time (in production once at 12h), but in storj-up setup I got data on the node’s dashboard much faster. So, if the node’s dashboard shows this info, it must be in the database too.
However, if you would do docker compose down, then this data would be lost, unless you use a persistent storage (storj-up persist) for the satellite and nodes.

I ran storj-up start to run the containers then ran storj-up testdata payment and it generate dummy data and populate the the storagenode_payments and storagenode_paystubs table. But my storagenode UI is still empty.
Do I need to add somthing to my docker compose file?

I do not think so, I did nothing to get it on the multinode dashboard, it’s just refreshed after a while (~20 minutes I think).
However, I did run it for the past period (because the current version of the multinode seems cannot use the data for the current period), maybe this makes a difference?
Could you please also try to generate a project usage before the payment?

storj-up testdata project-usage 2024-09
storj-up testdata payment 2024-09

I am getting this records

-[ RECORD 1 ]
period           | 2024-01
node_id          | \x1ffb39fb36a3f6dfa21a053b16ff7132030a00092e428468c46bd4b476b22200
created_at       | 2024-10-06 15:09:53.401937+00
codes            | 
usage_at_rest    | 396720
usage_get        | 787
usage_put        | 865
usage_get_repair | 0
usage_put_repair | 26
usage_get_audit  | 0
comp_at_rest     | 0
comp_get         | 0
comp_put         | 0
comp_get_repair  | 0
comp_put_repair  | 0
comp_get_audit   | 0
surge_percent    | 0
held             | 0
owed             | 0
disposed         | 0
paid             | 0
distributed      | 0

data. But my dashboard is still empty.

The single node dashboard doesn’t allow to select a past period, so you wouldn’t see a usage for past months on a SND, you need to use a multinode for that.
By the way, to be able to safe restart the node you need to remove the file

docker compose exec storagenode1 rm /var/lib/storj/.local/share/storj/storagenode/storage/trash/.trash-uses-day-dirs-indicator
docker compose restart storagenode1

After that the Payout history would allow to see 10 months of payments. However, the selector “Custom Date Range” wouldn’t still allow to select a period.