Safe Cost Tracker

On this new network I’ve seen the first costs that aren’t the minimum:-

1728699826,0.000000005,1728699835,5927019931135107
1728729511,0.000000004,1728729521,4565542461189369
1728740307,0.000000004,1728740320,1448817460363965
3 Likes

Before the collapse some of my nodes were quoting 3 nanos

2 Likes

Costs seem to be back to much normal levels. Here are the last 10 quotes for example:-

tail -f ~/safe_cost_tracker/logs/safe_cost_tracker.log
1728810280,0.000000006,1728810301,8315150222405726
1728810361,0.000000076,1728810373,9132303242002534
1728810433,0.000000004,1728810463,7779084535258123
1728810523,0.000000010,1728810537,2090645817409653
1728810597,0.000000005,1728810620,8217248688079688
1728810680,0.000000004,1728810705,7542234538634010
1728810765,0.000000007,1728810785,1333205392617133
1728810845,0.000000005,1728810855,1827948780155106
1728810915,0.000000012,1728810927,5196225431363849
1728810987,0.000000003,1728811009,6432880165180578

But there were some high ones earlier. Here are the top 10:-

./scripts/costs_not_3_nanos | sort -t , -k 2 | tail 
1728794187,0.000001243,1728794212,5618947665888386
1728805855,0.000001537,1728805892,1426117348175723
1728802409,0.000001735,1728802428,3195914047212750
1728784409,0.000001949,1728784437,2279542541739856
1728781717,0.000002056,1728781744,1277870300133976
1728800022,0.000002106,1728800050,7451561226930315
1728788250,0.000002221,1728788284,3570231062109980
1728798699,0.000002416,1728798729,1549471170671762
1728806522,0.000003041,1728806547,2166141451210611
1728806607,0.000003901,1728806623,9495960920297580

BUT! note that we don’t have the crazy ones in the millions of nanos or whole numbers of tokens we’ve seen when other networks have gone south.

2 Likes

We’re back at 50k 10k nodes =)

2 Likes

Bah! The ‘estimate’ option isn’t there anymore!

Is it coming back?!

autonomi file estimate tempcost
error: unrecognized subcommand 'estimate'

Usage: autonomi file [OPTIONS] <COMMAND>

For more information, try '--help'.

autonomi -h
Autonomi CLI

Usage: autonomi [OPTIONS] <COMMAND>

Commands:
  file      Operations related to file handling
  register  Operations related to register management
  vault     Operations related to vault management
  help      Print this message or the help of the given subcommand(s)

Options:
      --log-output-dest <LOG_OUTPUT_DEST>            Specify the logging output destination. [default: data-dir]
      --log-format <LOG_FORMAT>                      Specify the logging format.
      --first                                        Set to indicate this is the first node in a new network
      --peer <multiaddr>                             Peer(s) to use for bootstrap, in a 'multiaddr' format containing the peer ID [env:
                                                     SAFE_PEERS=]
      --network-contacts-url <NETWORK_CONTACTS_URL>  Specify the URL to fetch the network contacts from
      --timeout <CONNECTION_TIMEOUT>                 The maximum duration to wait for a connection to the network before timing out
  -x, --no-verify                                    Prevent verification of data storage on the network
  -h, --help                                         Print help (see more with '--help')
  -V, --version                                      Print version

its called cost now :slight_smile:

$autonomi file cost -h
Estimate cost to upload a file

Usage: autonomi file cost [OPTIONS] <FILE>

Arguments:
  <FILE>  The file to estimate cost for

Options:
      --timeout <CONNECTION_TIMEOUT>
          The maximum duration to wait for a connection to the network before
          timing out
  -x, --no-verify
          Prevent verification of data storage on the network
  -h, --help
          Print help (see more with '--help')

2 Likes

Thank you for that @aatonnomicc .

I love the fact that a balance is no longer required to find the cost of an upload! I had been worried what I was going to do about that with the shift to a new token.

It’s ancient history now but what I had been doing before was just updating ‘safe’ with ‘safeup client’ for each network using a wallet that had the minimal amount in it from earlier in the year. It seems the client just checked that there was a balance and not that it was a balance that would work on the current network. So I got away with not having to transfer a real nano to it.

I have one more question: is there still a chunk_artifacts directory? I can’t find one. I ask because my script removes the contents after each run or it will eventually fill the disk. It used to be at:-
$HOME/.local/share/safe/client/chunk_artifacts

but I can’t find an equivalent under:-
$HOME/.local/share/safe/autonomi

same here iv checked around and don’t see anything in the obvious places and im trying to upload stuff right now.

I was worried they were going into /tmp again. I still think they must be going somewhere. Unless they are being deleted right after they are finished with.

Maybe they aren’t anywhere! Didn’t find anything with find / -name "chunk" 2>/dev/null.

Maybe I’ll find out in a couple of days if the disk fills and stops the machine!

Are you sure they haven’t changed the process to delete the artifact directory used as soon as the chunks are generated and the chunk hash and xor address has been determined?

I am not sure about that at all. And that is what I am beginning to think!

1 Like

I’m tracking the costs over time on the new network in case there are any oddities but the cost is still being quoted in nanos and is therefore wrong! eg.
0.000000008
when it should be
0.000000000000000008

Maybe I’ll fudge the entries so far later when this is corrected.

It would be really good if the autonomi client could be amended so the upload cost makes sense.

It must be working right behind the scenes as not even @aatonnomicc will have earned enough to upload files yet!

I realise it is low priority while there aren’t ‘real’ users using earnings or bought tokens paying to upload at the moment.

3 Likes

I’m not seeing any costs that are any different than 8 attos. But I’ve now seen 7 failures to get a quote. I’m logging the times though and this is when the failures occurred:-

Fri Nov  1 01:37:22 UTC 2024
Fri Nov  1 19:17:48 UTC 2024
Fri Nov  1 20:57:32 UTC 2024
Sat Nov  2 01:58:59 UTC 2024
Sat Nov  2 06:19:54 UTC 2024
Sat Nov  2 08:06:28 UTC 2024
Sat Nov  2 08:22:10 UTC 2024
Sat Nov  2 09:05:07 UTC 2024

I’m also logging the data used to create the file to get the cost so I tried to get quotes for the files that couldn’t get quotes the first time and found something worrying: one of them persistently can’t get a quote:-

1730425042,,1730425063,9233318131286619 = no after 10 tries
1730488668,,1730488704,8095503472183410 = yes after 1 try
1730494652,,1730494705,2461373484827844 = yes after 1 try
1730512739,,1730512775,6523631753218929 = yes after 1 try
1730528394,,1730528434,8299917177419278 = yes after 1 try
1730534788,,1730534818,1298673401730602 = yes after 1 try
1730535730,,1730535751,5745222656530661 = yes after 1 try
1730538307,,1730538346,7044208582765352 = yes after 2 tries

Steps to reproduce:-

echo 9233318131286619 > tempfile
time autonomi file cost tempfile

Logging to directory: "/home/ubuntu/.local/share/safe/autonomi/logs/log_2024-11-02_09-26-07"
autonomi client built with git version: stable / a44fd08 / 2024-10-29
🔗 Connected to the Network                                                                                             Getting upload cost...
Error: 
   0: Failed to calculate cost for file
   1: Cost error: Could not get store quote for: ad4037(10101101).. after several retries
   2: Could not get store quote for: ad4037(10101101).. after several retries

Location:
   autonomi-cli/src/commands/file.rs:26

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

real	0m5.167s
user	0m0.541s
sys	0m0.201s

Are there ‘holes’ in the network where data in certain ranges can’t be quoted for and stored?!

1 Like

iv noticed that some files just will not upload no matter how many times i try to upload when other files of similar size upload on the 1st attempt.

1 Like

I wonder if there are nodes not able to receive unsolicited packets? IE bad port forwarding or firewall.

This would result in the network leading the client to request quotes from those nodes but the nodes never see the request due to firewall blockage or port forwarding not setup right.

The nodes talk to the other nodes because they setup the comms through the router/firewall and returning packets are let through as expected. This would also include later unsolicited packets from those nodes previously contacted.

If enough nodes are like that out there then one would expect there is a high chance in such a small network that there are some chunks which will have 5 such nodes as the closest nodes.

2 Likes