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

feat(core-api): add consensus algorithms OpenAPI enum #359

Closed
petermetz opened this issue Nov 4, 2020 · 0 comments · Fixed by #414
Closed

feat(core-api): add consensus algorithms OpenAPI enum #359

petermetz opened this issue Nov 4, 2020 · 0 comments · Fixed by #414
Labels
enhancement New feature or request good-first-issue Good for newcomers Hacktoberfest Hacktoberfest participants are welcome to take a stab at issues marked with this label.
Milestone

Comments

@petermetz
Copy link
Contributor

petermetz commented Nov 4, 2020

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

We don't have an IDE-assisted, predefined list (enum) of consensus algorithms to code against.

Describe the solution you'd like

  1. The openapi-spec.ts file of the core-api package to be updated so that the ledger model declares a property denoting what consensus algorithm that particular ledger deployment is running on. For some ledgers this will always be static (e.g. public & permissionless main nets with a single c. alg.) but for others it can be important to know for example if a particular consortium member has deployed their Besu ledger with one or the other supported consensus algorithms.
  2. In the same Open API spec, there should be an enum with known consensus algorithms that the rest of the code can use as needed.
  3. Need to carefully consider how this will be used by the code written for feat(core-api): getConsensusAlgorithm() on connector API #355 if at all.

Describe alternatives you've considered

There's another issue open which talks about having a getConsensusAlgorithm() method added to the ledger connector plugin interface. This and that could depend on each other, but they don't have to. There's more discussion about this in that issue

cc: @takeutak @sfuji822 @jonathan-m-hamilton

@petermetz petermetz added enhancement New feature or request good-first-issue Good for newcomers Hacktoberfest Hacktoberfest participants are welcome to take a stab at issues marked with this label. labels Nov 4, 2020
@petermetz petermetz added this to the v0.3.0 milestone Nov 4, 2020
@petermetz petermetz changed the title feat(core-api): add ledger model property for consensus algorithm feat(core-api): define consensus algorithms OpenAPI enum Dec 4, 2020
@petermetz petermetz changed the title feat(core-api): define consensus algorithms OpenAPI enum feat(core-api): add consensus algorithms OpenAPI enum Dec 4, 2020
petermetz added a commit to petermetz/cacti that referenced this issue Dec 4, 2020
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes hyperledger-cacti#359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Dec 4, 2020
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes hyperledger-cacti#359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Dec 4, 2020
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes hyperledger-cacti#359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Dec 12, 2020
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes hyperledger-cacti#359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Dec 14, 2020
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes hyperledger-cacti#359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Dec 14, 2020
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes hyperledger-cacti#359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Dec 16, 2020
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes hyperledger-cacti#359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Dec 16, 2020
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes hyperledger-cacti#359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Jan 4, 2021
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes hyperledger-cacti#359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Jan 5, 2021
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes hyperledger-cacti#359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Jan 5, 2021
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes hyperledger-cacti#359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit that referenced this issue Jan 5, 2021
Enumerates a list of consensus algorithm families in
existence. Does not intend to be an exhaustive list, just a
practical one, meaning that we only include items here
that are relevant to Hyperledger Cactus in fulfilling its
own duties. This can be extended later as more
sophisticated features of Cactus get implemented. This
enum is meant to be first and foremest a useful
abstraction for achieving practical tasks, not an
encyclopedia and therefore we ask of everyone that this
to be extended only in ways that serve a practical
purpose for the runtime behavior of Cactus or Cactus
plugins in general. The bottom line is that we can accept
this enum being not 100% accurate as long as it 100%
satisfies what it was designed to do.

Fixes #359

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
ryjones pushed a commit that referenced this issue Feb 1, 2023
Besu Documentation and RFC Updates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good-first-issue Good for newcomers Hacktoberfest Hacktoberfest participants are welcome to take a stab at issues marked with this label.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant