Skip to content

ICRC3 Transaction Throttling During NFT Minting - "Icrc3Error(\"Transaction throttled\")" #5

@iamenochchirima

Description

@iamenochchirima

I am trying to mint multiple nfts in like a launchpad way using this implementation but getting this error{"StorageCanisterError":"Icrc3Error(\"Transaction throttled\")"} in both cases of either batch minting or in sequential, looks like a rate limiting problem.

When I try to mint nfts in sequential order, nfts are being minted but getting the throttle error at mint 6.
When batch minting, when I upload the assets first, and then batch mint after, I am getting the error right away when I start the minting. The files and metadata json are uploading well, the error I am only getting it when minting.

I already have a frontend I am using for this, this is the flow of how I am doing the upload and minting.

Upload Flow:

1. uploadAssetWithMetadata()
   ├── 2. uploadFileToCollection() [Upload image file]
   │   ├── 3. nftActor.init_upload({ file_hash, file_path, file_size, chunk_size })
   │   ├── 4. nftActor.store_chunk({ chunk_id, file_path, chunk_data }) [For each chunk]
   │   └── 5. nftActor.finalize_upload({ file_path })  returns image URL
   │
   └── 6. uploadMetadataJSON() [Upload metadata JSON]
       ├── 7. nftActor.init_upload({ file_hash, file_path, file_size, chunk_size })
       ├── 8. nftActor.store_chunk({ chunk_id, file_path, chunk_data })
       └── 9. nftActor.finalize_upload({ file_path })  returns metadata URL

10. nftActor.mint({ mint_requests }) [Mint NFT with metadata URL]

For batch I am uploading assets and metadata json first, and the mint afterwards, it's only failing on the mint, it's not even minting a single nft, giving the error above.

What could I be doing wrong? I even tried to put some delays it's still giving the error.

Also is this implementation really meant to support batch processes when minting? because even if it's supporting batch minting (which is failing for now for me), the file upload is taking a lot of time. Maybe I need to create a custom implementation to speed that up?. If I am currently not using it a wrong way.

Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions