Community Public File Directory

We used to have streaming for both upload & download previously, however got discarded during the refactor, as not fit into the new payment flow.

I think the AntTP will be useful, especially on downloading side.
However, I think there will be extra work required, at least on uploading side.

by using self-encrytion streaming API, you don’t have to do this.

3 Likes

For real? No, not of course yet, had to try a couple things with 1.2GB linux distro:

export CHUNK_DOWNLOAD_BATCH_SIZE=64
real	3m17.428s
user	2m6.677s
sys	0m52.120s


export CHUNK_DOWNLOAD_BATCH_SIZE=256
real	4m16.057s
user	3m7.244s
sys	0m58.515s


CHUNK_DOWNLOAD_BATCH_SIZE=32
real	3m52.862s
user	2m35.587s
sys	1m3.782s

Seems like 64 is close to sweet spot to me. Or am I reading too much into these numbers? How much there is just random variation?

How are these numbers even possible? I’m the official “Mr. Crappy Router” in any case.

And now to sleep.

3 Likes

Yeah, the upload feature isn’t doing anything custom. It just saves the upload from the client/browser to a temp directory and then uploads it within an archive using the autonomi libs.

Maybe it is a different use case here? For AntTP, the chunks arrive out of order and I can’t stream them to the client/browser until they can be ordered in sequence. So, I have to hold the ‘ready’ chunks somewhere, while they are blocked from being sent to the client/browser. Once the blockage is cleared, the blocked chunks all get pushed out too (until it hits the next blockage).

I did have a poke around the self-encryption streaming API, but I couldn’t see a way to make it fit. That could be on me just not seeing it though.

1 Like

yeah, could be.
I am mainly on single large file case.

1 Like

The network seems much quicker this week after the latest antnode has propagated wider. I got some impressive results from lots of smaller files too, which illustrates the strides forward with lowering latency.

I found that 32 - 64 chunks work well for me too, but 16 gives maximum reliability. That’s over a relatively busy connection + wifi though. Tbh, 16 isn’t much slower than 32 for me either, mind.

3 Likes

I thought I’d get in on this dog fooding act too… AntTP v0.4.6 uploaded!

paul@mini-vader:~/dev/anttp/target/x86_64-unknown-linux-musl/release$ ls -lah anttp
-rwxrwxr-x 2 paul paul 30M Apr 28 23:05 anttp
paul@mini-vader:~/dev/anttp/target/x86_64-unknown-linux-musl/release$ echo $CHUNK_UPLOAD_BATCH_SIZE 
16
paul@mini-vader:~/dev/anttp/target/x86_64-unknown-linux-musl/release$ time ant file upload -p anttp
Logging to directory: "/home/paul/.local/share/autonomi/client/logs/log_2025-04-30_21-41-08"
🔗 Connected to the Network                                                                                                                                                                   Uploading data to network...
Encrypting file: "anttp"..
Successfully encrypted file: "anttp"
Quoting for 9 chunks..
Paying for 9 chunks..
Chunk payments of 9 chunks completed. 0 chunks were free / already paid for
Uploading file: anttp (9 chunks)..
(2/9) Chunk stored at: c52b7396563f124973bf1cdb266273ed4376fa8a810e5750c0e7a25531d730c7
(6/9) Chunk stored at: 5d423f7738e26f7bfffc7f6975e6a324e7190b19b474dd2f91797afaf6484e42
(9/9) Chunk stored at: 01966b01077761bc83d17ae31fda46714e2335e0b4e8575eddb9360685498c49
(1/9) Chunk stored at: fe9e965054e8a3e0e7fffa1541b185bc813fdd5d3193338dd31d716b90a34c46
(4/9) Chunk stored at: 719c89bcf0124501e752750deaf832259ae39c633807e8761791b1e80b72842b
(5/9) Chunk stored at: 724030961e95daafbd4935f90456e5dd9229346c28cfe3e444bc52d5e7a27dca
(3/9) Chunk stored at: a729b460484a2c30ce3067125b627d28ec26de3e6f31fec13833e50b4f1b2584
(8/9) Chunk stored at: ef0993eea31f5f6a551ab00d2a454ec88ae266ea36122d823295778fbf5a6cb0
(7/9) Chunk stored at: b6d5e9bafb7b9947ba4d41b8430b26cea511f46e5ac94a5d2d645700bd54729e
Successfully uploaded anttp (9 chunks) to: 01966b01077761bc83d17ae31fda46714e2335e0b4e8575eddb9360685498c49
Upload of 1 files completed in 263.136115056s
Uploading public archive referencing 1 files
Paying for 4 chunks..
Chunk payments of 4 chunks completed. 0 chunks were free / already paid for
(3/4) Chunk stored at: 5eb35045a67291be767454feb04bdc2bb68dc4a08852ea025de57f99286ad534
(4/4) Chunk stored at: f70dd703a2788e304f3abe9a7e12c33abc8292f808940ec2901da119f7a7caac
(2/4) Chunk stored at: 9630ca9aed1cddcd8b6a6b8f0ee545b17e8d13f10f930951d2a8da7dffea00d9
(1/4) Chunk stored at: 57d014d542e8ba80787c7405e3793834e0db5347095cd94208a5ca9fe93ed7cc
Successfully uploaded: anttp
At address: f70dd703a2788e304f3abe9a7e12c33abc8292f808940ec2901da119f7a7caac
Number of chunks uploaded: 13
Number of chunks already paid/uploaded: 0
Total cost: 348388276099 AttoTokens

real	5m26.887s
user	0m22.938s
sys	0m10.609s

About 100 KB/s, if you include the time for quotes, archive, etc. When actually uploading the chunks, it looked closer to 500-1000 KB/s from eyeballing system monitor.

It worked first time too, with no retries, special prep, etc. Great job, team!

EDIT: And to download with AntTP, it took no time at all… 4 seconds (or 7.5 MB/s)! :sweat_smile: :dog:

[2025-04-30T21:00:14Z INFO  anttp::file_service] streaming item [anttp] at addr [01966b01077761bc83d17ae31fda46714e2335e0b4e8575eddb9360685498c49], range_from [0], range_to [18446744073709551615]
...
[2025-04-30T21:00:18Z INFO  actix_web::middleware::logger] 127.0.0.1 "GET /anttp HTTP/1.1" 200 31383800 "http://f70dd703a2788e304f3abe9a7e12c33abc8292f808940ec2901da119f7a7caac/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" 4.559878
2 Likes

All these code things appearing, and developer comments makes me think this times its for real. So happy. When can i upload my cat pics?

7 Likes

It does all feel very real this time :slight_smile:

Network performance seems great. It feels like UX is all that’s holding things back just now, and that should take a good step forward with Impossible Futures.

In due course I’m looking forward to an Android based browser / wallet / upload & download manager combo so I can just get on the network & start browsing / downloading / uploading :slight_smile:

5 Likes

Well there is one more thing preventing me backing up my 100TB to Autonomi. Passing gas in public is bad enough but this GAS issue is worse.

9 Likes

Yes, for uploading, native will be a game changer.

But, $5 for 5.8gb (Anatomic’s recent cost for Ubuntu upload) isn’t terrible for many applications… just a shame ANT utility is almost zero. Maybe ANT cost must equal at least 20% of total upload cost until the network is sufficiently full to give ANT some utility value.

5 Likes

Imagine in the 60’s/70’s when we were paying $1 per second of Mainframe CPU time. That was 500,000 to 1 million CPU instructions.

We learnt to write tight code. Yes also paid for memory usage and disk/tape usage

7 Likes

Back when a dollar was worth something :sweat_smile:

3 Likes

I had a bit of a play with @happybeing’s dweb and made my first Autonomi website. :partying_face:

It just takes his ScratchChat and adds some bells and whistles. Not well tested so probably buggy but if you have used Scratchchat you should get the gist of it pretty quickly.

You will only see content of those you follow.

dweb open atlas

5 Likes

dweb open atlas won’t work for others until I hard-code it in dweb, so you need to publish the History and/or Archive address.

BTW I realised there’s no need for apps to use host+port for accessing the API and am updating my demos to only use local paths for API access in JS and HTML. You’ll see an updated ScratchChat shortly.

Things will be less likely to break (e.g. if people want dweb serve to listen on a different port) because the whole API is available on the app’s own server.

3 Likes

Oh crap.. :laughing: I have left home for a week and have no idea what the history address is.

:rofl:

3 Likes

I better update the names app and include following each other’s names like ScratcChat… unless anyone else wants to take that on!? :wink:

2 Likes

billboard so i dont lose the link

dweb open b6da6740bc5394f9ac0e6a6fa5a42f7f587d3aeaa48fd23ae9a45bef95b571a32429b0353148aa9e04f17cd6da57d179
3 Likes

Trying again :slight_smile: :rofl:

Atlas
dweb open 99e3b8df52814b379e216caf797426071000905a2cd93a9f5e90eef2b32517a9ec1ef0bfe27d79360014fd97639ac612

And you can follow me at:
a2b7e4734910406a54255bbd87bc8e03a89671121cab8d5b6a18287e613886ddb89c3d82be35577241a55d2ed299c3b0

2 Likes

Looks awesome (:wink:) @Josh

Ohh… links!

Oh this is good :clap:

Power to the dweb! :flexed_biceps:

Be back later with my address… here you go:

931debff9fef86856b5ba84377cf0fc43745c41f5c18a1f9d340d3a5f542fff19d4d983f1ef4d29be6f6f8eb2782a3e9

7 Likes

I especially like how it tells you it’s doing something when it does stuff that might take a moment on main

instead of just looking broken :smiley:

5 Likes