Skip to content
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

Network serialization for Genesis chain parameters #114

Closed
dr-orlovsky opened this issue Sep 30, 2020 · 1 comment · Fixed by #112
Closed

Network serialization for Genesis chain parameters #114

dr-orlovsky opened this issue Sep 30, 2020 · 1 comment · Fixed by #112
Assignees
Labels
*compatibility* Interoperability and compatibility issues *consensus* Changes breaking existing consensus rules feature New functionality question Further information is requested

Comments

@dr-orlovsky
Copy link
Member

dr-orlovsky commented Sep 30, 2020

Genesis commits to ChainHash (hash of the genesis block of the underlying blockchain), however it contains (for P2P networking purposes) information about the target blockchain (name etc) called ChainParam. This allows not to hardcore list of supported blockchains (main, test, signet, regtest, sidechains, test sidechains...) into each and all client-level software. However, ChainParam may evolve, so to avoid compatibility issues and allow extensibility w/o RGB contract change we
will serialize chain parameters in all known/legacy formats for compatibility:

genesis := some_data, chain_params, rest_of_data
chain_params := no_of_encodins, chain_param_encoding*
chain_param_encoding := len, bytes*
@dr-orlovsky dr-orlovsky added question Further information is requested *compatibility* Interoperability and compatibility issues feature New functionality *consensus* Changes breaking existing consensus rules labels Sep 30, 2020
@dr-orlovsky dr-orlovsky added this to the v0.1.0 Release milestone Sep 30, 2020
@dr-orlovsky dr-orlovsky self-assigned this Sep 30, 2020
dr-orlovsky added a commit that referenced this issue Sep 30, 2020
dr-orlovsky added a commit that referenced this issue Sep 30, 2020
@dr-orlovsky
Copy link
Member Author

Implemented in 6bda53c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
*compatibility* Interoperability and compatibility issues *consensus* Changes breaking existing consensus rules feature New functionality question Further information is requested
Projects
None yet
1 participant