Query over quotes and payments in early beta

I noticed a pattern, that makes the quoting/storecost look like it has a huge bug @JimCollinson @qi_ma

In vdash with my machines and images others post in discord we see a huge quote with only a small number of records stored. Now this can also be a bug with @happybeing vdash, or a bug with what is written to the log files, or a bug in the store cost algorithm. We see for some nodes the quoted store cost is 10 or 5 times the number of records. There was one 10/3 times

Here are the screen shots and I’ll let the devs & @happybeing decide where the seeming erroneous quote figures come from

Here I have 3 screen shots and each is from a different set of nodes running.


@joshuef @qi_ma any ideas if this is a store cost algorithm, logging error, or a vdash issue? ^^^

I have earning swithout store cost.

1 Like

This may just be about when different stats are written to the logs. Some things appear more regularly than others, and storecost only appears once in a blue moon so it can easily be out of sync. I’m not saying that’s all that is happening, but it seems unlikely there will be an error in the calculation.

@R43 In 0.17.9 I changed which message I use to pick up earnings so that may explain why the two are not always together. As mentioned to @neo, store cost isn’t written to the logs very often, whereas earnings are written as soon as they happen, so that is probably why.

1 Like

the base rate is really 10 * records_stored , then be affected by received_payments and time connected.
I don’t think your screen shot shown any issue?

That explains why we are seeing quotes at 10 times the records stored. And sometimes 5 times and 3.333333 times

Isn’t that a bit steep when sometimes it isn’t affected by received payments or time connected as shown above in nodes running for over a day

In theory when the node is 50% full we could have 20,480 nanos being charged when sometimes the other factors are not affecting it.

And that is a long way away from the curve the White Paper showed

1 Like

from the previous runs, it seems not.
And this will help stimulate new nodes to join have a good share.

Then what happens to the white paper curve.

Also with a liner base you won’t get the exponential curve as the node gets close to full

And oddly then the quotes are real high but only get 10 or 20 nanos and not the high amount that it should since there is over 20 records at least before getting any payments.

Doesn’t add up that quotes are high but payments are only 10 or 20

1 Like

there is, the exponential curve steps in once over 60% full.
the function I linked above shows that.


Well that explains Happy’s high cost to upload in the 1000’s of nanos

@qi_ma But doesn’t explain why some of those nodes only got paid 10 or 20 nanos but quote was real high in the hundreds. The node was over 20 records when it started and got chunks it was responsible for. So they should have gotten a lot higher.

1 Like

They got paid before received those record copies via replications ?

Anyway, to confirm that, you will have to look into the QuotingMetrics that being used at that time.
Vdash is not a good place to look at for that purpose, as it has infos from different timespot snapshot combined.

These were payments after the node had settled down, like a day later since the nodes received nothing for the first day.

Basically what I am seeing is quotes of hundreds but payments of 10 nanos

1 Like

Guess i will have to read the logs

Can you give me a hint to the log entry to search for please. - the quote and payment log entries

1 Like

just looking for the keyword of QuotingMetrics in nodes’ log,
it shall show the key metrics being used when got quoted, and paid.


At the start of the beta test I couldn’t get the nodes to run, but I managed to add them, and although the manager indicated that they were not running, Chris says it could be that the nodes were actually running, but the status was not being reported correctly by the safenode-manager.

  • So far I haven’t received any rewards since the start of the test, but today I checked /rank and the first 10 nanos appeared, so if the nodes have been running since the start of the test, could the reward balance still change for that whole period?

  • When I check safenode-manager --details, the position of each node shows the reward balance: 0.000000000, is the bot indication independent of the safenode-manager indication?

1 Like

This should always be zero if you have set an owner because rewards are immediately forwarded to the foundation for counting by the bot.

There may be some earnings not counted by the bot, but generally it has only been a day or so behind.

BTW rewards are different to earnings. Rewards are what is awarded according to the rank you achieve on each Friday at 12 GMT and will appear in the leader board published after the end of each week.


Then those 10 nanos are rewards? Because I checked /rank about 2 hours ago. and if so, can I still get the reward for the whole testing period?

I’m asking because I’ve spent the whole test period troubleshooting startup and node performance issues, and I don’t know how to check the details of revenue and data allocation (the latest Launchpad won’t install at all).

Your earned nanos are not the same as rewards, so I’m being picky about terminology to try and avoid confusion.

So when your node earns nanos, they are forwarded to the foundation wallet. You have no rewards yet!

The bot scans the DAG and should notice those earnings and when you use /rank the earnings and your leader-board rank are displayed. Still no rewards.

On Fridays, the leader-board results in each person being allocated tokens (real network SNT, that don’t exist yet) and those are your rewards.

Whatever is on the leader-board on Friday is what is used. Today’s snapshot will have been taken so I expect if at 12GMT today, you had 10 nanos (earnings) and some rank, it is that rank that will be used to calculate your rewards which will be shown alongside your earnings and rank, when the leader-board is published.


@qi_ma can I ask a question about the pricing calculations please

records_stored = quoting_metrics.close_records_stored;

is this record count the currently active records, OR all records that the node ever was a close node to and still is storing them. (active+inactive)

And an observation not affecting the calculation. This line has a redundant function

let multiplier = max(
base_multiplier.powf(records_stored.saturating_sub(exponential_pricing_trigger) as f32)
as u64,

no need for the max

powf of a number >=1 by a 0 or positive factor will always be 1 or greater

For giving an increasing exponential factor then the number will by necessity be greater than 1 and the powf factor is also zero or greater, so the results of the powf being >= 1 means the max is unnecessary.

It would only be necessary if you planed to reduce the original_cost exponentially


it is records that this node is reposponsible for

1 Like