I’m confused and have been for a while.
I keep hitting barriers with using the production network and I struggle to understand them. I don’t use alphanet because I have funds on production (Arbitrum One) and want to understand what Autonomi can actually do right now, so I can feel more confident that it’s possible to develop my ideas on Autonomi (and be economically viable). I dropped out of Infinite Futures without making a pitch, partly because I struggled to figure out if many of my project ideas could be built within Autonomi’s present capabilities/limitations.
If I understand correctly, currently the ETH cost of uploading is way more costly than the ANT cost. So I want to understand how much gas is used per chunk, e.g. does storing two chunks cost 2x the gas of 1 chunk? Does storing 10 chunks cost 10x the gas of 1 chunk? etc. I’m fairly sure the answer is “no” because of batch transactions (paying many nodes simultaneously), but how to estimate total ETH required for uploads has eluded me so far. I thought that one workaround could be to upload several files of varying size, and try to analyse how much gas I’m using for these test files.
I’ve tried using ant-cli for several versions to upload a Linux iso file, and it always fails. The quoting functionality has always taken a long time for me and eventually fails after more than a half hour. I just tried again and it took about an hour “Quoting for 1034 chunks..” before it said “Paying for 1034 chunks..” for a minute or so then failed with “execution reverted”.
$ ls -lah kali-linux-2024.3-installer-amd64.iso
-rw-r--r-- 1 sbosshardt sbosshardt 4.1G Oct 14 2024 kali-linux-2024.3-installer-amd64.iso
$ ant file upload -p kali-linux-2024.3-installer-amd64.iso
Logging to directory: "/home/sbosshardt/.local/share/autonomi/client/logs/log_2025-05-18_12-38-54"
🔗 Connected to the Network
Uploading data to network...
Encrypting file: "kali-linux-2024.3-installer-amd64.iso"..
Successfully encrypted file: "kali-linux-2024.3-installer-amd64.iso"
Quoting for 1034 chunks..
Paying for 1034 chunks..
0: Failed to upload file
1: Failed to upload file
2: Error occurred during payment.
3: Wallet error: ChunkPaymentsContract(RpcError(ErrorResp(ErrorPayload { code: -32000, message: "execution reverted", data: None })))
4: Chunk payments contract error: server returned an error response: error code -32000: execution reverted
5: server returned an error response: error code -32000: execution reverted
Location:
ant-cli/src/commands/file.rs:86
Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
I’ve tried searching the forum but usually don’t find solutions, only people copy/pasting similar error messages.
I’ve tried to find the source code for the quoting contract and searched all the Maidsafe organization on Github but failed to find it. All I found was build artifacts - no Solidity source code. I assumed that Github is a good place to ask development-related questions and asked about this by opening an issue on Github weeks ago but there’s been no activity. I decompiled the smart contract and asked an LLM to do some analysis on it and come up with better variable names. It wrote an explanation document of PaymentVaultNoProxyV2, and mentioned that there is a batchLimit
state variable: “Maximum number of payments that can be processed in a single transaction (512)”. But I’m not sure if Claude’s explanation is referring to number of chunks, or number of nodes (of course, I could ask, but I feel like I’m so far into the weeds already). I’m reluctant to publish the decompiled contracts and AI-generated documentation because my question (in the Github issue) about whether it is closed source for a reason was not answered - I don’t know if there’s copyright/licensing restrictions, security concerns, etc.
I tried searching in Discord but couldn’t find insight/solutions to this uploading problem either. I tried visiting the Autonomi developer forum (sister Discourse site) in hopes of finding a good place to discuss documentation-related topics but the forum seems to be unused in recent months.
I feel like I must be missing something to be struggling with understand basic things like limitations like file size, ETH cost to upload, how many chunks can be quoted/bought at a time. I’ve even read rust cargo crates documentation out of desperation. I mean, I figure the point of Autonomi is to be able to upload lots of data. The main documentation for payments I can find gives a newbie-friendly code example of storing “Hello World”, and ant file upload -p <filename>
works for me for small files, but how big is too big? Dozens of chunks has worked for me, and 1034 chunks does not.
I’m also confused about whether the cost estimation tool (ant file cost
) is getting an estimate for a private file or a public file. Because ant file upload --help
shows that there’s a -p
flag for a public file but there isn’t one for ant file cost --help
. I think that a private status changes the chunk contents and addresses (since there is a datamap in the first chunk), so I’d think the quotes would be for an entirely different set of XOR addresses. And I don’t know whether the quoted cost is in ANT or ETH, e.g. for a 71 MB file:
$ ls -lah NVIDIA-Linux-x86_64-343.36.run
-rw-r--r-- 1 sbosshardt sbosshardt 71M Jan 8 2015 NVIDIA-Linux-x86_64-343.36.run
$ ant file cost NVIDIA-Linux-x86_64-343.36.run
Logging to directory: "/home/sbosshardt/.local/share/autonomi/client/logs/log_2025-05-18_12-57-55"
🔗 Connected to the Network Getting upload cost...
Estimate cost to upload file: NVIDIA-Linux-x86_64-343.36.run
Total cost: 0.000001004560771680
I assume that it’s giving the cost in ANT and not ETH, even though (I think) the ETH cost of uploading is significantly higher than ANT. I don’t know how much higher, but I believe it’s at least an order of magnitude. And if so, it seems like the most significant component of the cost to end-users (ETH) could be provided way more quickly. I mean, I figure why should I care how much ANT an upload costs and wait so long for a quote if the ETH needed costs me >10x more than what the ANT is valued at. Seems like the only reason I’d want to obtain quotes is when I’m actively trying to upload files (since quotes are a required part of the process of paying nodes for storage space). I also don’t know if maybe there is some timeout that’s going on - perhaps ant-cli takes too long to obtain quotes for all the chunks of a file that the upload fails because quotes are expiring before they’ve all been collected?
I have tried many times asking ChatGPT o3 questions, and it usually seems to do a good job answering them. But answers typically take minutes to generate, and it queries dozens of web pages. And I’m not always sure whether its answers are truthful or hallucinated. I can’t shake the feeling that I’m overthinking this and there’s a better way to learn that I’m missing.