Closed SamYuan1990 closed 2 years ago
Please vote or give feedback by emo such as "thumbs up", we are not finalize if we run meeting in Chinese or English.
Hi @davidkhala and @SamYuan1990, thank you for advancing this effort. This is the "missing SDK" that has been hampering Fabric deployment since the peers started coming online.
I don't wish to derail the effort on this front, but I would like to propose that a focus be placed on a golang SDK component as a priority. Very recently, we released the open-source Kubernetes fabric-operator, with production-grade support for core Fabric configuration (CAs, peers, orderers, etc.). What is missing from this solution, however, is an approach that solves the higher-order configuration of Fabric in a simple, declarative, Kube-native approach. The availability of a golang-based admin SDK, relying on gRPC(s) as the primary communication protocol, would allow us to extend the operator with the higher-order features for administration of networks. For instance, we would introduce high-order CRD structures to the Kubernetes API for:
In addition to providing a simple, declarative mechanism to specify higher-order constructs, the operator could use fabric-admin-sdk
to realize these features with a reconciliation loop, accessing native gRPC (or https for the channel participation APIs) services in software.
The last point to consider is that writing cross-platform, production grade SDKs is actually pretty hard. Coding is generally the easy part, but ensuring that the release management, portability, functionality, CI builds, distribution, revision upgrades, security scans, etc. etc. etc. is a LOT of work. Instead of providing cross-platform SDKs, may I suggest that we start to incorporate the Kubernetes API controller to provide some of the cross-platform portability aspects? In other words, we could achieve a cross-platform administration function by leveraging the Kubernetes SDKs, which come generally for every possible programming language and runtime, and extending the operator with new resource types.
This will seem a bit odd, but it would work beautifully for a focused effort to administer Fabric with a common API plane.
Thank you kindly for advancing the effort. This feature / library is long overdue!
👍 👍 👍
cross-platform portability
@jkneubuh In the last point, we are talking about cross-platform portability. Starting from this, I assumed these general purpose languages are already equipped with cross-platform support, isn't it?
quoted from @jt-nti
Some useful for an admin sdk. Newly published fabric-protos go: github.com/hyperledger/fabric-protos-go-apiv2 nodejs: www.npmjs.com/package/@hyperledger/fabric-protos java: to be released to maven, but here is https://github.com/hyperledger/fabric-protos/packages/1412970
pre discussed with @jkneubuh , to further considering with decouple peer cli and peer server works in fabric, for golang code implementation, we'd better considering existing fabric code and structure if there possible. question to @jt-nti or @davidkhala , are we able to have original repo as reference? I suppose original code repo will better than npm release page.
what do you mean by “original code repo will better than npm release page.“?
获取 Outlook for Androidhttps://aka.ms/ghei36
From: Sam Yuan @.> Sent: Saturday, June 18, 2022 12:14:03 AM To: Hyperledger-TWGC/fabric-admin-sdk @.> Cc: David Liu @.>; Mention @.> Subject: Re: [Hyperledger-TWGC/fabric-admin-sdk] fabric-admin-sdk draft proposal (Issue #1)
pre discussed with @jkneubuhhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjkneubuh&data=05%7C01%7C%7Cb50d500854704a3cd20108da507c65b4%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637910792469790004%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ujcVnlK0k1hlM1enjHO5P0rgPQgWUtIVz6lrVuX251M%3D&reserved=0 , to further considering with decouple peer cli and peer server works in fabric, for golang code implementation, we'd better considering existing fabric code and structure if there possible. question to @jt-ntihttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjt-nti&data=05%7C01%7C%7Cb50d500854704a3cd20108da507c65b4%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637910792469790004%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=OcWrwsnMcO%2BwciIaMU1LL4Ads561KAs9v3ueszlTLpA%3D&reserved=0 or @davidkhalahttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdavidkhala&data=05%7C01%7C%7Cb50d500854704a3cd20108da507c65b4%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637910792469790004%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TH53G%2Fqep%2BSDi6Q1C05YeDjEfU%2B2au1PRaHPem45v%2Fg%3D&reserved=0 , are we able to have original repo as reference? I suppose original code repo will better than npm release page.
― Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FHyperledger-TWGC%2Ffabric-admin-sdk%2Fissues%2F1%23issuecomment-1159030147&data=05%7C01%7C%7Cb50d500854704a3cd20108da507c65b4%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637910792469790004%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=xwAy8Y02ETuevoUxkeeD6OqB2Q7rYGNufYG7vnHBYKc%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABXERRLKPDNGCG4IUN4UJSTVPSP4XANCNFSM5ZCKCT5Q&data=05%7C01%7C%7Cb50d500854704a3cd20108da507c65b4%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637910792469790004%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=fgimkzkTreGcLFKc0c%2Ba%2F2wNbm89DA4ab0QvXUoXjM0%3D&reserved=0. You are receiving this because you were mentioned.Message ID: @.***>
https://github.com/hyperledger/fabric-protos/packages/1412970
don‘t worry i found it as https://github.com/hyperledger/fabric-protos
hi guys, if there no further comments for this issue, I plan to update into documentations and close this issue with a pr.
Project Name
fabric-admin-sdk
motivation
As gateway sdk will drop off admin capacity, we plan to recover admin capacity related things with this project proposal.
schedule(Thursdays night, BJT)
host(@davidkhala / @SamYuan1990 , @xiaohui249 , @Peng-Du )
languages: go, java, nodejs, typescript
identified features