fabric icon indicating copy to clipboard operation
fabric copied to clipboard

Fabric v2.5 release

Open denyeart opened this issue 3 years ago • 10 comments

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

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

denyeart avatar Jun 07 '22 12:06 denyeart

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?

davidkhala avatar Jul 14 '22 13:07 davidkhala

@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 avatar Jul 17 '22 06:07 SamYuan1990

I made a pr for sample, hope it works. https://github.com/hyperledger/fabric/pull/3529

SamYuan1990 avatar Jul 17 '22 07:07 SamYuan1990

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.

yacovm avatar Jul 17 '22 11:07 yacovm

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?

SamYuan1990 avatar Jul 17 '22 11:07 SamYuan1990

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 avatar Jul 17 '22 11:07 yacovm

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.

yacovm avatar Jul 17 '22 11:07 yacovm

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 https://github.com/hyperledger/fabric/blob/0fa4d2f79d8147cc8d92151654ace40d8339b35b/internal/peer/channel/join.go#L67

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?

SamYuan1990 avatar Jul 17 '22 11:07 SamYuan1990

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

https://github.com/hyperledger/fabric/blob/0fa4d2f79d8147cc8d92151654ace40d8339b35b/internal/peer/channel/join.go#L67

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 :-)

yacovm avatar Jul 17 '22 12:07 yacovm

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

denyeart avatar Jul 17 '22 23:07 denyeart