@xyo-network/dapp-kit-s3
v2.0.0
Published
Portable S3-compatible object storage for headless XL1 dApps
Readme
@xyo-network/dapp-kit-s3
Portable Node object storage for S3-compatible providers.
S3ObjectStore implements dapp-kit's neutral ObjectStoreWriter with a
mandatory key prefix, maximum object size, conditional create/replace,
read-back verification, ambiguous-write reconciliation, provider-backed
pagination, and metadata preservation. createS3SdkObjectStoreTransport
maps the contract onto the AWS SDK without acquiring or interpreting
credentials itself.
An S3-compatible endpoint is not automatically qualified. AWS S3, Cloudflare R2, MinIO, and other providers must each pass the exact adapter conformance and credentialed failure matrix used by the deployment target that admits them.
import { S3Client } from '@aws-sdk/client-s3'
import { createS3SdkObjectStore } from '@xyo-network/dapp-kit-s3'
const store = createS3SdkObjectStore({
bucket: 'example',
client: new S3Client({
credentials: { accessKeyId, secretAccessKey },
endpoint,
region: 'auto',
}),
maximumObjectBytes: 4 * 1024 * 1024,
prefix: 'my-dapp/projections',
})The package is an object-store adapter, not an XL1 datalake API. Canonical payload bodies remain behind the declared datalake viewer/runner contract.
