Skip to content

Commit c19a58e

Browse files
Merge pull request #29 from boundless-xyz/willpote/journal-input-sizes
Warnings about program/input file sizes and S3 signed urls
2 parents c3946c6 + 9d0d053 commit c19a58e

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

developers/tutorials/request.mdx

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,10 @@ export AWS_REGION="us-east-1"
148148

149149
Once these are set, this will automatically use the specified [AWS S3 bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) for storage of programs and inputs.
150150

151+
<Warning>
152+
The SDK generates S3 presigned URLs that expire after 12 hours. If your request takes longer to fulfill, provers cannot download your program or inputs after expiry. For long-running requests, use IPFS storage or set `S3_NO_PRESIGNED=1` to use direct S3 URLs with appropriate bucket policies.
153+
</Warning>
154+
151155
#### No Storage Provider
152156

153157
A perfectly valid option for `StorageProvider` is `None`; if you don't set any relevant environment variables for IPFS/S3, it won't use a storage provider to upload programs or inputs at runtime. This means you will need to upload your program ahead of time, and provide the public URL. For the inputs, you can also pass them inline (i.e. in the transaction) if they are small enough. Otherwise, you can upload inputs ahead of time as well.
@@ -218,6 +222,22 @@ In this example, inputs are included inline if they are small (e.g. less than 1
218222

219223
When submitting requests onchain with inline inputs, this will cost more gas if the inputs are large. The offchain order-stream service also places limits on the size of inline input.
220224

225+
### Size Limits
226+
227+
Provers enforce limits on file and journal sizes. Requests exceeding these limits are ignored by most provers.
228+
229+
#### File Size Limits
230+
231+
Programs and input files must be under **50MB**. This applies to guest program ELF binaries and input files uploaded to storage providers.
232+
233+
Oversized files would force provers to waste bandwidth and storage, so they reject such requests.
234+
235+
#### Journal Size Limits
236+
237+
Journals delivered on-chain must be under **10KB**. Larger journals would force provers to post expensive calldata, so they reject such requests.
238+
239+
If your journal exceeds 10KB, use the `ClaimDigestMatch` predicate and store journals off-chain. See [Journal Size Limits](/developers/tutorials/proof-types#journal-size-limits) for details.
240+
221241
### Proof Types
222242

223243
By default, the Boundless SDK requests [aggregated proofs](/developers/tutorials/use). However, you can also request Groth16 proofs, which are SNARK proofs that are highly efficient for onchain verification.

0 commit comments

Comments
 (0)