Bundling Node.js chaincode for offline install
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, node.js
- Bereich
- blockchain
Rechercherichtung
Beginne mit dem Packaging-Flow des Issues: npm install, dem Peer-Lifecycle-Paket und dem im Beschreibungstext referenzierten fabric-chaincode-node start-Bootstrap. Vergleiche die beiden vorgeschlagenen Ansätze – die manuelle Erstellung eines Tarballs und das Bundling mit esbuild – und prüfe die Diskussion in #197. Als erledigt gilt die Identifizierung und Dokumentation eines einfachen unterstützten Offline-Installationspfads für Node.js-Chaincode.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Node.js chaincode build containers require access to the npm registry when installing chaincode.
This becomes an issue for peers that are "offline" (e.g. peers from cloud providers) and do not have access to the npm registry. Simply running "npm install" before packaging chaincode with "peer lifecycle package" does not solve the problem alone, since the package command ignores the node_modules directory.
We have identified two possible ways to solve this:
- Creating the tarball package manually without using "peer lifecycle package".
- Bundling the application (e.g. with esbuild) before packaging it with "peer lifecycle package".
While the first option works fine, it does make the process of deploying Node.js chaincode a lot more complex than deploying Go or Java chaincode. We would therefore prefer the second option, however, we are still required to add fabric-shim as a module outside the bundle, so that "fabric-chaincode-node start" is available when bootstrapping the chaincode.
Would it be possible to start the application without requiring "fabric-chaincode-node start" as an external script, e.g. by calling the bootstrap function in the chaincode's index.js instead?
Are there any other simple ways to solve this that I've missed or is manually creating the tarball the suggested approach for now?
This issue was also discussed in #197 but seems unresolved
- Vorherrschende Sprache
- JavaScript
- Sterne
- 262
- Forks
- 147
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus hyperledger/fabric-chaincode-node
-
Read/write batchingEvtl. wieder frei @Vineet1101 hat das vor 249 Tagen übernommen, und es ist kein Pull Request offen. Offenenhancement help wanted
hyperledger/fabric-chaincode-node#453 · 7 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
hyperledger/fabric-chaincode-node#422 · 4 Kommentare ·
Alle Issues in hyperledger/fabric-chaincode-node
Ähnliche Issues
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
fossasia/visdom-dev#69 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 74/100
-
建议写成 1949-Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 62/100
DeanChensj/jiangshan-map#133 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Frontend build fails with Frappe version-16: DataImport is no longer exported by @framework/uiOffenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
ew
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 1 Tag