deploy.js script
This commit is contained in:
parent
5824bf0091
commit
9d84ef3951
27 changed files with 162 additions and 6654 deletions
86
subgraph/base_sepolia/deploy.js
Normal file
86
subgraph/base_sepolia/deploy.js
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
const fs = require('fs');
|
||||
const { exec } = require("child_process");
|
||||
const readline = require("readline");
|
||||
|
||||
// Netzwerkspezifische Informationen
|
||||
const networks = {
|
||||
'base-sepolia': {
|
||||
NETWORK: 'base-sepolia',
|
||||
CONTRACT_ADDRESS_HARB: '0x22c264Ecf8D4E49D1E3CabD8DD39b7C4Ab51C1B8',
|
||||
CONTRACT_ADDRESS_STAKE: '0xe28020BCdEeAf2779dd47c670A8eFC2973316EE2',
|
||||
START_BLOCK: 20940337,
|
||||
SUBGRAPH_NAME: "harb-base-sepolia"
|
||||
},
|
||||
'sepolia': {
|
||||
NETWORK: 'sepolia',
|
||||
CONTRACT_ADDRESS_HARB: '0x087F256D11fe533b0c7d372e44Ee0F9e47C89dF9',
|
||||
CONTRACT_ADDRESS_STAKE: '0xCd21a41a137BCAf8743E47D048F57D92398f7Da9',
|
||||
START_BLOCK: 6746241,
|
||||
SUBGRAPH_NAME: "harb"
|
||||
},
|
||||
};
|
||||
|
||||
// Netzwerk über Kommandozeilenargument auswählen
|
||||
const args = process.argv.slice(2);
|
||||
if (args.length === 0) {
|
||||
console.error('Kein Netzwerk angegeben, z. B.: node deploy.js sepolia');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const selectedNetwork = networks[args[0]];
|
||||
if (!selectedNetwork) {
|
||||
console.error(`Kein gülitges Netzwerk angegeben: ${args[0]}. Verfügbare Netzwerke: ${Object.keys(networks).join(', ')}`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Template-Datei laden
|
||||
const subgraphTemplate = fs.readFileSync('subgraph_template.yaml', 'utf-8');
|
||||
|
||||
// Platzhalter ersetzen
|
||||
let subgraphConfig = subgraphTemplate.replace(/{{NETWORK}}/g, selectedNetwork.NETWORK);
|
||||
subgraphConfig = subgraphConfig.replace(/{{CONTRACT_ADDRESS_STAKE}}/g, selectedNetwork.CONTRACT_ADDRESS_STAKE);
|
||||
subgraphConfig = subgraphConfig.replace(/{{CONTRACT_ADDRESS_HARB}}/g, selectedNetwork.CONTRACT_ADDRESS_HARB);
|
||||
subgraphConfig = subgraphConfig.replace(/{{START_BLOCK}}/g, selectedNetwork.START_BLOCK);
|
||||
|
||||
// Neue Datei generieren
|
||||
fs.writeFileSync('subgraph.yaml', subgraphConfig);
|
||||
|
||||
console.log(`subgraph.yaml für das Netzwerk ${selectedNetwork.NETWORK} wurde erfolgreich generiert.`);
|
||||
|
||||
|
||||
|
||||
const rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout,
|
||||
});
|
||||
|
||||
rl.question('Which version label to use1? (e.g. "v0.0.1"): ', (versionLabel) => {
|
||||
|
||||
if (!versionLabel) {
|
||||
console.error("Kein Versionslabel angegeben. Abbruch.");
|
||||
rl.close();
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
|
||||
const serverAdress = "https://api.studio.thegraph.com/deploy/";
|
||||
console.log(`Starte Deployment mit Versionslabel "${versionLabel}"...`);
|
||||
|
||||
// Spawn-Prozess starten
|
||||
// const deployProcess = spawn("graph", ["deploy", "--node", serverAdress, selectedNetwork.SUBGRAPH_NAME]);
|
||||
|
||||
const command = `graph deploy --node ${serverAdress} ${selectedNetwork.SUBGRAPH_NAME} --version-label ${versionLabel}`;
|
||||
console.log(`Auszuführender Befehl: ${command}`);
|
||||
|
||||
exec(command, (error, stdout, stderr) => {
|
||||
if (error) {
|
||||
console.error(`Fehler: ${error.message}`);
|
||||
return;
|
||||
}
|
||||
if (stderr) {
|
||||
console.error(`stderr: ${stderr}`);
|
||||
}
|
||||
|
||||
console.log(`stdout: ${stdout}`);
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue