Ich arbeite an einigen Projekten mit Truffle, wie Sie wissen, kompiliert und migriert Truffle Verträge in verschiedene Ethereum- Netzwerke , z .
Eines der Probleme, die wir haben, ist, wie wir diese generierten Build-Dateien zwischen dem Team von Entwicklern teilen können, die an dem Projekt arbeiten.
Hat jemand Erfahrung mit diesem Problem und was ist die beste Lösung?
Die Hauptprobleme:
Wenn wir die Build-Dateien in die Quellcodeverwaltung übertragen, enthalten sie Elemente, die für den lokalen Computer des Benutzers spezifisch sind, z. B. sourcePath & absolutePath
Wenn wir sie nicht festschreiben, müssen wir entweder die abi json-Dateien manuell aktualisieren, um auf die richtige Vertragsadresse zu verweisen
Ich habe das Gefühl, dass wir vielleicht nicht verstehen, was der richtige Prozess ist, wenn Trüffel zwischen Teams mit mehr als ein paar Leuten in einem gemeinsamen Projekt verwendet werden
Alle Hilfe geschätzt
Ich weiß nicht, ob es dafür eine wirkliche Antwort gibt, aber ich verwende diese Lösung: Ich ändere die Migrationsdatei und schreibe die ABI und ihre Adresse nach dem Deploy
var fs = require('fs'); var MeinVertrag = artifacts.require('./MeinVertrag.sol'); var fileContent = require('../build/contracts/MyContract.json'); module.exports = Funktion (Bereitsteller) { deployer.deploy(MyContract).then(() => { var VertragKonfiguration = { abi: fileContent.abi, Adresse: MeinVertrag.Adresse }; fs.writeFileSync('contractConfiguration/MyContract.json', JSON.stringify(contractConfiguration), { flag: 'w' }); }); };
In meinem Fall verwende ich es, um meine Vertragsinformationen immer für UI-Zwecke zu aktualisieren. Die Benutzeroberfläche liest also die Informationen im contractConfiguration
Ordner und hat immer die aktualisierte Adresse und ABI.
Kaki Meister der Zeit
Jimbo1987