-
Notifications
You must be signed in to change notification settings - Fork 65
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
Add Waves namespace #49
Conversation
Hey there! We're off to a good start, but I had some questions and some advice. As for CAIP-2, I would recommend reading around the other CAIP-2 profiles. You'll notice there are two patterns that all of them use one or both of:
I noticed in the dev docs that custom networks (private ones, presumably) are allowed, but I don't entirely understand the Also-- in many other chainID systems, there is a way to request the chainID from any node you're interacting with as a confirmation step, using that API's equivalent of a |
Hi, @bumblefudge! Thanks for the advice. We did just that: we got acquainted with all CAIP 2, 10 and 19 other blockchains, and based on them we created our own. Regarding I also described how to determine the Chain ID through the API. |
I would also like some advice on the format of addresses and assets. Do I understand correctly that both for addresses and assets, the CASA format must begin with a namespace and chain ID? Or is it optional? In Waves, if the real asset ID has format "AB..." Base58 string, then in CAIP-19 it should be described as I ask because, as we described in CAIPs, chain ID is already encoded in address, so explicitly specifying the chain ID after the namespace seems a bit redundant. We thought about options:
|
The resolution section is great, thanks for that! 1.) Heh, a similar issue came up with Polkadot's addressing system, where a given private key/account expresses as a different address per chainID. There as well, the question of which to use (the universal pkh or the chainid-specific address) for CAIP-10/19 came up as well, and I'm a little undecided myself because both have pros and cons. one idea I have been debating is whether a "wildcard"/"null" value for chainID would be worth adding to polkadot and waves, where the universal, rather than chain-specific version of an account is being addressed or resolved. I believe there is a use-case for this kind of ecosystem-wide identification of wallets or assets (futureproofed against future chains being added), particularly across namespaces rather than within them, but I have yet to see demand for this use-case validated by wallet or dapp authors, so I am waiting for input from the ecosystems themselves (including you). 2.) Note that the minimum length of a CAIP-2 is 3 characters, as per the reg ex in the syntax section of CAIP-2. Thus, both a wildcard/null value (if you choose to specify one) and the normal one-character identifiers used internally and confirmed by the nodes would need to be "stretched" somewhere, whether by redundancy ( 3.) As for the inclusion of "chainID", it IS mandatory for conformance with CAIP-10 and CAIP-19. Much like the genesis hash versus chainID, redundancy here can be a virtue-- extra validation is particularly useful for non-native or multi-chain wallets and dapps! For example, it might be counterintuitive within the ecosystem (since Which leads me to my last question: could I get a little more context on that "in theory/in practice" comment about two chains claiming the same ID? |
Hey @bumblefudge, 1.) So far I can’t say anything about the use cases now. But I changed the format to an explicit indication of chainID. 2.) Okay, I specified the chainId with leading zeros. But why is there such a restriction? What problem does it solve? Why can't ID be 1 or 2 characters? Is it possible to reconsider this limitation? 3.) As far as I know, nodes do not exchange information about genesis blocks. In short, they compare their last 100 blocks. If there is no similar chain of blocks among them, then the connection is refused. |
So we are ready for the final PR review and expect to be added to the registry as soon as possible. |
Excellent work, thanks so much! I had to open a separate PR to commit my edits, but nothing substantive, just formatting and clarity edits. Do reach out if protocol changes require a refresh of any of these documents, or if other CAIPs need profiles! |
Thank you for all your support! |
No description provided.