-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] Share Move libraries between Move blockchain projects #91
Comments
Thanks for starting this discussion! This is a tough and not-yet-resolved question. I want to actually broaden the topic a bit to discuss Move compatibility in general. There were already some compatibility challenges due to differences in frameworks (e.g., libraries that depend on Some early thoughts on this:
I'm not sure whether this tiering system should just be an informal guideline, or also something that we try to enforce progammatically in the package system and/or linters. It's worth noting that packages are not organized according to this tiering system today, although some are close (e.g., there's very little global storage used in the Move stdlib). But the overwhelming tendency is toward monolithic tier 6 packages, which I think we should change. Once we have reorganized packages using these principles, I think there will be a lot more boxes in your diagram above, but the tiering system will make it easier to figure out where we can/should draw dependency arrows and where we shouldn't. |
π Feature Request
Motivation
Now we have several Blockchain projects using Move, but it is hard to share Move libraries between different blockchains.
Perhaps the ideal way of Move project dependency like:
However, this is not yet possible and there is an address conflict issue.
Move stdlib uses the
0x1
address and will conflict with the framework. For example, if StarcoinFramework defines a dependency on Move stdlib inMove.toml
, the Move project will produce an error.One approach to resolve this is to auto-embed Move stdlib and Move DeFi lib to the chain framework, but this also has the problem of naming conflicts.
I think this is very important for building the Move ecosystem, and this is an advantage of Move over Solidity ecosystem.
Is your feature request related to a problem? Please describe.
Pitch
Describe the solution you'd like
Describe alternatives you've considered
Are you willing to open a pull request? (See CONTRIBUTING)
Additional context
The text was updated successfully, but these errors were encountered: