Skip to content

Conversation

@jdtzmn
Copy link
Contributor

@jdtzmn jdtzmn commented May 12, 2021

Summary

Increase the ASA URL size from a limiting 32 bytes to 96 bytes to support NFTs with longer IPFS URLs.

Closes algorand/go-algorand-internal#1179.

Test Plan

Integration tests for before and after the change.

@jdtzmn jdtzmn requested a review from jannotti May 12, 2021 15:05
Copy link
Contributor

@jannotti jannotti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Things look good, though you will want to rebase this once the PR it's based on is merged, so we don't get my commit log added twice.

@tsachiherman
Copy link
Contributor

I do like the idea of expanding the size of the URL, but think that we should also increase the min required balance for these assets. This is a general observation as the number of assets on the network grows - note that the min balance here is for asset "owners" and not for asset holders. Also - if we have that degree of flexibility, we could also allow much longer URLs. i.e. if someone is willing to lock enough Algos, I don't see any reason to prevent him from having an asset that has 4K long url.

@jannotti
Copy link
Contributor

If someone is willing to lock enough Algos, I don't see any reason to prevent him from having an asset that has 4K long url.

That is generally my thought process as well, though more for apps than ASAs. With ASAs, I felt we'd be better served by keeping things as static and backward compatible as possible (all ASAs have the same min balance requirement.) to have quick support for common NFT standards (refer to an ipfs url).

If we have to go any further (like give ASAs some extra space to arbitrary use) I'd certainly push for a min balance bump. Clearly in that case, callers would be new code (requesting such space) and could be expected to understand the min balance bump.

@winder
Copy link
Contributor

winder commented May 12, 2021

For what it's worth, a partner asked recently about maximum sizes for ASA strings so that they could enact stricter Indexer queries on their load balancers. We would need to make sure this sort of change is documented and communicated.

@jannotti
Copy link
Contributor

We would need to make sure this sort of change is documented and communicated.

Is updating the foundation spec sufficient? (I mean, in one sense it is clearly not - we'd have to point out the update, but I'm asking if any other documentation needs to be changed?)

The foundation spec update is part of the PR I'm accumulating for this consensus upgrade: algorandfoundation/specs#43

@winder
Copy link
Contributor

winder commented May 14, 2021

@jannotti making sure it's in the release notes and notifying @JasonWeathersby for the DevRel blog posts should be enough.

@jdtzmn jdtzmn force-pushed the increase-asa-url-size branch from 74e9640 to e6a829e Compare May 17, 2021 18:09
@jdtzmn jdtzmn marked this pull request as ready for review May 17, 2021 18:11
@jdtzmn jdtzmn requested a review from jannotti May 17, 2021 18:12
jannotti
jannotti previously approved these changes May 17, 2021
Copy link
Contributor

@jannotti jannotti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@tsachiherman tsachiherman merged commit 93278a8 into algorand:master May 21, 2021
tsachiherman pushed a commit to tsachiherman/go-algorand that referenced this pull request Jul 7, 2021
Increase the ASA URL size from a limiting 32 bytes to 96 bytes to support NFTs with longer IPFS URLs. 

Closes algorand/go-algorand-internal#1179.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants