const fs = require("fs");
const { exit } = require("process");
const {WsProvider, ApiPromise} = require("@polkadot/api");
const util = require("@polkadot/util");
async function connect(port, types) {
const provider = new WsProvider("ws://127.0.0.1:" + port);
const api = await ApiPromise.create({
provider,
types,
throwOnConnect: false,
});
return api;
}
if (!process.argv[2] || !process.argv[3]) {
console.log("usage: node generate_keys ");
exit();
}
const input = process.argv[2];
const output = process.argv[3];
fs.readFile(input, "utf8", (err, data) => {
if (err) {
console.log(`Error reading file from disk: ${err}`);
exit(1);
}
const genesis = JSON.parse(data);
connect(9944, {}).then(api => {
const setStorage = api.tx.system.setStorage(genesis);
const raw = setStorage.method.toU8a();
const hex = util.u8aToHex(raw);
fs.writeFileSync(output, hex);
exit(0)
}).catch(e => {
console.error(e);
exit(1)
});
});