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

Fabric v2.5 release #3464

Closed
denyeart opened this issue Jun 7, 2022 · 10 comments
Closed

Fabric v2.5 release #3464

denyeart opened this issue Jun 7, 2022 · 10 comments
Labels

Comments

@denyeart
Copy link
Contributor

denyeart commented Jun 7, 2022

Umbrella epic to capture misc items for Fabric v2.5 release.

This does not include #2787 which is also targeted for v2.5.

@denyeart denyeart added the Epic label Jun 7, 2022
@davidkhala
Copy link
Member

davidkhala commented Jul 14, 2022

Hi @denyeart
https://go.dev/ref/mod#incompatible-versions

Do we have plan to referring this module name convention on module in format of ../v2 in next LTS 2.5 release?

@SamYuan1990
Copy link
Contributor

@denyeart , @jkneubuh
I hope we are able to have v2 as api release.
for example, when developing admin-sdk, for peer join channel feature.
I noticed that there some code depends on package "github.com/hyperledger/fabric/core/scc/cscc"
which is not included in current api for go mod, so I hope we are able to release 2.5 with v2 api so that cscc package can be invoked by "github.com/hyperledger/fabric/v2/core/scc/cscc"

@SamYuan1990
Copy link
Contributor

I made a pr for sample, hope it works. #3529

@yacovm
Copy link
Contributor

yacovm commented Jul 17, 2022

Hi @denyeart https://go.dev/ref/mod#incompatible-versions

Do we have plan to referring this module name convention on module in format of ../v2 in next LTS 2.5 release?

Fabric core is not supposed to be imported/vendored by external projects.
That's part of the reason we have repositories for everything starting from protos, shim, idemix, and even channel configuration.

@SamYuan1990
Copy link
Contributor

Hi @denyeart https://go.dev/ref/mod#incompatible-versions
Do we have plan to referring this module name convention on module in format of ../v2 in next LTS 2.5 release?

Fabric core was never meant to be imported/vendored by external projects. That's part of the reason we have repositories for everything starting from protos, shim, and even channel configuration.

hi @yacovm , in that case, if we want to develop admin sdk to allow peer join channel instead of use peer cli, as the code logic depends on github.com/hyperledger/fabric/core/scc/cscc and as you said, if we don't have plan to expose fabric core...
any suggestion to make the admin sdk without fabric core?

@yacovm
Copy link
Contributor

yacovm commented Jul 17, 2022

Hi @denyeart https://go.dev/ref/mod#incompatible-versions
Do we have plan to referring this module name convention on module in format of ../v2 in next LTS 2.5 release?

Fabric core was never meant to be imported/vendored by external projects. That's part of the reason we have repositories for everything starting from protos, shim, and even channel configuration.

hi @yacovm , in that case, if we want to develop admin sdk to allow peer join channel instead of use peer cli, as the code logic depends on github.com/hyperledger/fabric/core/scc/cscc and as you said, if we don't have plan to expose fabric core... any suggestion to make the admin sdk without fabric core?

Why do you need to import the server side code to be able to implement a client? The logic that CSCC performs is unrelated to what you need to send to a chaincode. Just assemble the payloads it expects and send it to a chaincode, what's the issue?

@yacovm
Copy link
Contributor

yacovm commented Jul 17, 2022

and as you said, if we don't have plan to expose fabric core...

I think in v3 we would end up making a module inside Fabric core that will be importable, and will abide by the Go module conventions, but that doesn't mean we need to make all of Fabric core a huge module.

@SamYuan1990
Copy link
Contributor

Hi @denyeart https://go.dev/ref/mod#incompatible-versions
Do we have plan to referring this module name convention on module in format of ../v2 in next LTS 2.5 release?

Fabric core was never meant to be imported/vendored by external projects. That's part of the reason we have repositories for everything starting from protos, shim, and even channel configuration.

hi @yacovm , in that case, if we want to develop admin sdk to allow peer join channel instead of use peer cli, as the code logic depends on github.com/hyperledger/fabric/core/scc/cscc and as you said, if we don't have plan to expose fabric core... any suggestion to make the admin sdk without fabric core?

Why do you need to import the server side code to be able to implement a client? The logic that CSCC performs is unrelated to what you need to send to a chaincode. Just assemble the payloads it expects and send it to a chaincode, what's the issue?

ref to line

input := &pb.ChaincodeInput{Args: [][]byte{[]byte(cscc.JoinChain), gb}}

so... instead of using fabric core modules, another option is that we open those const values? or user copy paste those const value into their own code?

@yacovm
Copy link
Contributor

yacovm commented Jul 17, 2022

Hi @denyeart https://go.dev/ref/mod#incompatible-versions
Do we have plan to referring this module name convention on module in format of ../v2 in next LTS 2.5 release?

Fabric core was never meant to be imported/vendored by external projects. That's part of the reason we have repositories for everything starting from protos, shim, and even channel configuration.

hi @yacovm , in that case, if we want to develop admin sdk to allow peer join channel instead of use peer cli, as the code logic depends on github.com/hyperledger/fabric/core/scc/cscc and as you said, if we don't have plan to expose fabric core... any suggestion to make the admin sdk without fabric core?

Why do you need to import the server side code to be able to implement a client? The logic that CSCC performs is unrelated to what you need to send to a chaincode. Just assemble the payloads it expects and send it to a chaincode, what's the issue?

ref to line

input := &pb.ChaincodeInput{Args: [][]byte{[]byte(cscc.JoinChain), gb}}

so... instead of using fabric core modules, another option is that we open those const values? or user copy paste those const value into their own code?

Just copy the string :-)

@denyeart
Copy link
Contributor Author

@davidkhala @SamYuan1990
I agree with Yacov, we don't want to signal that people should import core Fabric code.

@denyeart denyeart closed this as completed Apr 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants