Latest Release March 20, 2025

I wonder if the quote can be stored and re-used at a later time too? IIRC, it has an expiry, but it would be great to be able to pay for the chunks as a batch, then crack on with uploads as a seperate, more controlled way (retries, backoff, etc), then create the archive.

5 Likes

from ant fille --help


Download a file from the given address

Usage: ant file download [OPTIONS] <ADDR> <DEST_FILE>

Arguments:
  <ADDR>
          The address of the file to download

  <DEST_FILE>
          The destination file path

Options:
  -q, --quorum <QUORUM>
          Experimental: Optionally specify the quorum for the download (makes sure that we have n copies for each
          chunks).
          
          Possible values are: "one", "majority", "all", n (where n is a number greater than 0)

      --timeout <CONNECTION_TIMEOUT>
          The maximum duration to wait for a connection to the network before timing out

That timeout is supposed to be in seconds, right?

cos

willie@mir:~$ time ant file download --timeout 600 7ca61972d90c00d5e2ec085c24a6c09d11eb602c27637490ec6fc9b7f7cc7351 .
Logging to directory: "/home/willie/.local/share/autonomi/client/logs/log_2025-03-31_15-41-26"
🔗 Connected to the Network                                                                                      Error: 
   0: Failed to fetch Public Archive from address
   1: General networking error: GetRecordError(QueryTimeout)
   2: GetRecord Query Error QueryTimeout
   3: Network query timed out

Location:
   ant-cli/src/actions/download.rs:108

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

real	1m50.203s
user	0m6.566s
sys	0m2.652s

failed in a lot less than 600 secs…

willie@mir:~$ ant --version
Autonomi Client v0.3.9
Network version: ant/1.0/1
Package version: 2025.1.2.11
Git info: stable / f403cf6 / 2025-03-12
1 Like

shall be 1.2.12 to be used

3 Likes

Still fails but takes a bit longer :frowning:


willie@mir:~$ ant --version
Autonomi Client v0.3.10
Network version: ant/1.0/1
Package version: 2025.1.2.12
Git info: stable / c754d07 / 2025-03-20
willie@mir:~$ time ant file download --timeout 600 7ca61972d90c00d5e2ec085c24a6c09d11eb602c27637490ec6fc9b7f7cc7351 .
Logging to directory: "/home/willie/.local/share/autonomi/client/logs/log_2025-03-31_21-58-21"
🔗 Connected to the Network                                                                       Error: 
   0: Failed to fetch Public Archive from address
   1: General networking error: GetRecordError(QueryTimeout)
   2: GetRecord Query Error QueryTimeout
   3: Network query timed out

Location:
   ant-cli/src/actions/download.rs:108

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

real	5m12.154s
user	0m14.376s
sys	0m5.449s

This must be incredibly frustrating for you and the rest of us.

1 Like

AFAIK, there is no state kept. Quoting is simply a way to feed the quote contract to spit out a result. The upload then does that all over again and pays. I guess with a smart contract the payment being done within a short time after any quote will result in something that is close to the quote. Also now 7 nodes are giving figures so variances are less an issue since any node can change a lot but won’t change the result since 3 out of 7 are selected for pricing

Trying to hold nodes to a quoted price has its own issues. Especially if the network morphs between quoting and uploading even if only hours later, let alone days

5 Likes

got a succeeded download here

> ant file download -x 7ca61972d90c00d5e2ec085c24a6c09d11eb602c27637490ec6fc9b7f7cc7351 movie.mp4
⠁ Connecting to The Autonomi Network...                                                               
🔗 Connected to the Network
Successfully downloaded file at: 7ca61972d90c00d5e2ec085c24a6c09d11eb602c27637490ec6fc9b7f7cc7351

and can watch the ani properly.
That’s the second attempt.

It is bit unstable and have another waste of effort issue though.

btw. seems the file got uploaded using a customer build, which got the file split with 1MB chunk_size.

5 Likes

That seems to be the default. Maybe it should default to 4MB instead?

yeah, in future will be default to 4MB.
So far, it does default to 1MB, if carry out any custom build.

2 Likes

copying you with the -x no-verify flag worked with the latest rc

willie@gagarin:~$ time ant file download -x --timeout 600 7ca61972d90c00d5e2ec085c24a6c09d11eb602c27637490ec6fc9b7f7cc7351 movie.mp4
Logging to directory: "/home/willie/.local/share/autonomi/client/logs/log_2025-03-31_22-46-32"
🔗 Connected to the Network                                                                                                                              Successfully downloaded file at: 7ca61972d90c00d5e2ec085c24a6c09d11eb602c27637490ec6fc9b7f7cc7351

real	6m40.668s
user	0m14.020s
sys	0m8.767s
willie@gagarin:~$ ant --version
Autonomi Client v0.3.11-rc.1
Network version: ant/1.0/1
Package version: 2025.1.2.13
Git info: rc-2025.1.2-hotfix4 / 347c6df / 2025-03-28
1 Like

Soory @anon26713768 I missed gems announcement

Heres what I have so far


willie@gagarin:~/projects/maidsafe/gems$ time gems upload -f ../test-sites/Kwak/img/vroom.png 
Initializing client...
Client initialized.
Setting up wallet from environment variable...
Wallet setup complete using provided private key.
Reading file: "../test-sites/Kwak/img/vroom.png"...
Read 1023331 bytes from file.

Configuration for after upload completes:
Download and verify the uploaded data afterwards? [y/n]: y
Create a new archive for this upload afterwards? [y/n]: y

Attempting to upload file with retries (max 50 attempts)...

--- Upload Attempt 1/50 ---
(1/4) Chunk stored at: 806d0e5f638b6daea87dc1292d9cf76b38e9bea1bd0426842791a0b17aa4a974 (skipping, already exists)
(2/4) Chunk stored at: 97a8b824a4245a5e8f05fc01848d95cf6fd2f3a6d7e5b2a01a9131ec2e9aacc7 (skipping, already exists)
(3/4) Chunk stored at: 2a4af8cb68218b187e2145038562247687cf0883e4a8639ef05d3c377e756c58 (skipping, already exists)
(4/4) Chunk stored at: 6e9a66751331ed30570fe7f07a34785ee3eeda59503f052f78031516bd97a19b (skipping, already exists)
Upload successful on attempt 1!

Upload successful!
  Cost: 0.00000000000000000000000000000000 AttoTokens
  Data Address: 6e9a66751331ed30570fe7f07a34785ee3eeda59503f052f78031516bd97a19b

Proceeding with download and verification...
Downloading file using data_get_public...
Download successful! Fetched 1023331 bytes.
Verifying downloaded data...
Verification successful: Original and downloaded data match.
Saving verified file to "./vroom.png"

Proceeding with archive creation...
--- Performing Archive Action (using PublicArchive) ---
Creating new archive for DataAddress: 6e9a66751331ed30570fe7f07a34785ee3eeda59503f052f78031516bd97a19b (original path: "../test-sites/Kwak/img/vroom.png")
Attempting to upload new PublicArchive with retries (max 50 attempts)...
  --- Archive Upload Attempt 1/50 ---
Uploading public archive referencing 1 files
(3/4) Chunk stored at: 3472b8a55608d40e11a6ce5064946c10c35fc541c036f8c2e8bb911dffa63e77
(2/4) Chunk stored at: a533f2a63b4574777b837a9bf271024e603575b5dfb85ce9185177ad2bb56691
(1/4) Chunk stored at: b828c2bb61671ce35810712aee0b5d67917587b3f2da8e1102771301d0041578
(4/4) Chunk failed to be stored at: a4290721f82ed7ffed95afffec714cc86ac17ad134df84d9e5df36f740203b59 (A network error occurred.)
(1/1) Chunk failed to be stored at: a4290721f82ed7ffed95afffec714cc86ac17ad134df84d9e5df36f740203b59 (A network error occurred.)
(1/1) Chunk failed to be stored at: a4290721f82ed7ffed95afffec714cc86ac17ad134df84d9e5df36f740203b59 (A network error occurred.)
(1/1) Chunk failed to be stored at: a4290721f82ed7ffed95afffec714cc86ac17ad134df84d9e5df36f740203b59 (A network error occurred.)
  Archive upload attempt 1 failed: A network error occurred.. Retrying in 5 seconds...
  --- Archive Upload Attempt 2/50 ---
Uploading public archive referencing 1 files
(1/4) Chunk stored at: 3472b8a55608d40e11a6ce5064946c10c35fc541c036f8c2e8bb911dffa63e77 (skipping, already exists)
(2/4) Chunk stored at: a533f2a63b4574777b837a9bf271024e603575b5dfb85ce9185177ad2bb56691 (skipping, already exists)
(3/4) Chunk stored at: b828c2bb61671ce35810712aee0b5d67917587b3f2da8e1102771301d0041578
(4/4) Chunk failed to be stored at: a4290721f82ed7ffed95afffec714cc86ac17ad134df84d9e5df36f740203b59 (A network error occurred.)

So up/download was OK and the prob was with archiving
I’ll let that run and try a few more.

3 Likes

Yeah, I think for now we are better off not using archives. At least we can get some use out of the network without them.

Or at least get data onto the network and exercise some of those nodes.

3 Likes

It took a while and I havent dared look what total cost in ETH and ANT but you can now try to download

Psychokiller.mp3

from
21c5e208e27e55ebfcd4800ac9772a755ffe27c8456d09f5ab71588f17bfa088


--- Upload Attempt 15/50 ---
(2/5) Chunk stored at: 71e64c08e895a1c55c7e096538ed8cd688624591d2dbd8a9a316cd6e83f520aa (skipping, already exists)
(3/5) Chunk stored at: 7ee480544301326be0294fb461ceb50b486535d7dc91fccd19194a63ecc21237 (skipping, already exists)
(4/5) Chunk stored at: 177207ca43882376623a375888792863d27aa8d348e410d45eeb872b44912630 (skipping, already exists)
(5/5) Chunk stored at: 21c5e208e27e55ebfcd4800ac9772a755ffe27c8456d09f5ab71588f17bfa088 (skipping, already exists)
(1/5) Chunk stored at: 99edd0e00c24e4c603bdcd87c7d3472b52d2fac0e921149005c280820aaf64ef
Upload successful on attempt 15!

Upload successful!
  Cost: 0.00000000000000000000009314052367 AttoTokens
  Data Address: 21c5e208e27e55ebfcd4800ac9772a755ffe27c8456d09f5ab71588f17bfa088

Proceeding with download and verification...
Downloading file using data_get_public...
Download successful! Fetched 4157440 bytes.
Verifying downloaded data...
Verification successful: Original and downloaded data match.
Saving verified file to "./PsychoKiller.mp3"
Skipping archive creation.

Upload process completed.

real	385m3.785s
user	3m33.225s
sys	1m47.264s

Thanks @anon26713768 :slight_smile:

5 Likes

I have found the download may fail but if you try again it will eventually succeed. I may loop downloads until success too but hopefully that is not needed.

4 Likes

Are uploads with gems public by default?

1 Like

Yes, it can only currently put public data. Wasn’t meant to do a whole lot other than me messaging about trying to get Buck Bunny forced upon the network :laughing:.

I could add it, but my focus is really missionctrl just waiting for python to catch up.

3 Likes

quite right too

1 Like