@kba-tools/genesis-tool
Version:
A forked repo from ConsenSys which helps to generate genesis block for Besu Network with xemptyBlockPeriod field.
47 lines (39 loc) • 1.8 kB
text/typescript
import { QuestionTree } from "../types/questions";
import { Consensus } from "../types/consensus";
import * as ibft1 from "./ibft1Qs";
import * as ibft2 from "./ibft2Qs";
import * as qbft from "./qbftQs";
import * as clique from "./cliqueQs";
import * as raft from "./raftQs";
const bannerText = String.raw`
___
/ _ \ _ _ ___ _ __ _ _ _ __ ___
| | | || | | | / _ \ | '__|| | | || '_' _ \
| |_| || |_| || (_) || | | |_| || | | | | |
\__\_\ \__,_| \___/ |_| \__,_||_| |_| |_|
/ ___| ___ _ __ ___ ___ (_) ___
| | _ / _ \| '_ \ / _ \/ __|| |/ __|
| |_| || __/| | | || __/\__ \| |\__ \
\____| \___||_| |_|_\___||___/|_||___/
_____ _
|_ _|___ ___ | |
| | / _ \ / _ \ | |
| || (_) || (_) || |
|_| \___/ \___/ |_|
`;
const leadInText = `
\nWelcome to the Quorum Genesis Tool. This tool can be used
to rapidly generate genesis, account keys, and configs for Besu and GoQuorum.
To get started, be sure that you have read Besu and GoQuorum documentation regarding
genesis config options, then answer the following questions.\n\n`;
export const rootQuestion: QuestionTree = {
name: "consensus",
prompt: `${bannerText}${leadInText}Which consensus algorithm will you use? Default: QBFT`,
options: [
{ label: "IBFT1", value: Consensus.ibft, nextQuestion: ibft1._chainIDQuestion },
{ label: "IBFT2", value: Consensus.ibft2, nextQuestion: ibft2._chainIDQuestion },
{ label: "QBFT", value: Consensus.qbft, nextQuestion: qbft._chainIDQuestion, default: true },
{ label: "Clique", value: Consensus.clique, nextQuestion: clique._chainIDQuestion },
{ label: "RAFT", value: Consensus.raft, nextQuestion: raft._chainIDQuestion }
]
};