dashpay / dash

Dash - Reinventing Cryptocurrency
https://www.dash.org
MIT License
1.49k stars 1.2k forks source link

feature: add InstantLock and ChainLock data buffers in Core RPC #6391

Open pshenmic opened 1 week ago

pshenmic commented 1 week ago

Is your feature request related to a problem? Please describe.

To register an identity in the DashPlatform network, there is a required field of InstantLock or ChainLock buffer in IdentityCreateTransition. You first create and broadcast Core transaction, then wait for InstantLock or ChainLock, and then create and broadcast transaction in the Platform chain with that data.

The problem is in obtaining these lock signatures, because it is only available in the ZMQ, but its not so easy to use on the client, as it is requires a TCP connection and adds a lot of complexity in the client code, making it almost impossible in the web without self-written WebSocket gateways.

Core RPC also misses such information right now, however query methods like verifychainlock and verifyislock are presented (that accepts the same buffer). GetTransaction and GetBlock Core RPC queries already has a boolean field, it would be nice to see an actual buffer there too.

Describe the solution you'd like

It would be really great to see instantlock and chainlock buffers in the gettransaction and getblock RPC responses, but separate query would work as well

Additional context

https://github.com/pshenmic/platform-cli/pull/13#issuecomment-2470249825

riongull commented 6 days ago

Proposals related to and motivated by this issue:

https://www.dashcentral.org/p/DCD_RPC-Web-Proxy-Explorer_2024-Q4-fixed

https://www.dashcentral.org/p/Dev_Web_SDK-Platform_Id_with_Explorer

https://www.dashcentral.org/p/Dev_P2P_and_ZMQ_Explorers

Having IS/CL data in the Core RPC would likely improve certain use cases, but being able to work around this with separate services is a reasonable trade off until addressed more thoroughly.

PastaPastaPasta commented 1 hour ago

I expect this to be implemented in the next week or two. It'll then be included in latest nightlies, and released in v22.1; thanks for the good request, and clear issue!