Skip to content

Commit 72e3794

Browse files
maxsam4fjlholiman
authored
cmd/faucet: support testnet flags in the faucet (ethereum#22545)
Co-authored-by: Felix Lange <[email protected]> Co-authored-by: Martin Holst Swende <[email protected]>
1 parent 271e5b7 commit 72e3794

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

cmd/faucet/faucet.go

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ var (
8585

8686
twitterTokenFlag = flag.String("twitter.token", "", "Bearer token to authenticate with the v2 Twitter API")
8787
twitterTokenV1Flag = flag.String("twitter.token.v1", "", "Bearer token to authenticate with the v1.1 Twitter API")
88+
89+
goerliFlag = flag.Bool("goerli", false, "Initializes the faucet with Görli network config")
90+
rinkebyFlag = flag.Bool("rinkeby", false, "Initializes the faucet with Rinkeby network config")
8891
)
8992

9093
var (
@@ -144,13 +147,9 @@ func main() {
144147
log.Crit("Failed to render the faucet template", "err", err)
145148
}
146149
// Load and parse the genesis block requested by the user
147-
blob, err := ioutil.ReadFile(*genesisFlag)
150+
genesis, err := getGenesis(genesisFlag, *goerliFlag, *rinkebyFlag)
148151
if err != nil {
149-
log.Crit("Failed to read genesis block contents", "genesis", *genesisFlag, "err", err)
150-
}
151-
genesis := new(core.Genesis)
152-
if err = json.Unmarshal(blob, genesis); err != nil {
153-
log.Crit("Failed to parse genesis block json", "err", err)
152+
log.Crit("Failed to parse genesis config", "err", err)
154153
}
155154
// Convert the bootnodes to internal enode representations
156155
var enodes []*enode.Node
@@ -162,7 +161,8 @@ func main() {
162161
}
163162
}
164163
// Load up the account key and decrypt its password
165-
if blob, err = ioutil.ReadFile(*accPassFlag); err != nil {
164+
blob, err := ioutil.ReadFile(*accPassFlag)
165+
if err != nil {
166166
log.Crit("Failed to read account password contents", "file", *accPassFlag, "err", err)
167167
}
168168
pass := strings.TrimSuffix(string(blob), "\n")
@@ -884,3 +884,19 @@ func authNoAuth(url string) (string, string, common.Address, error) {
884884
}
885885
return address.Hex() + "@noauth", "", address, nil
886886
}
887+
888+
// getGenesis returns a genesis based on input args
889+
func getGenesis(genesisFlag *string, goerliFlag bool, rinkebyFlag bool) (*core.Genesis, error) {
890+
switch {
891+
case genesisFlag != nil:
892+
var genesis core.Genesis
893+
err := common.LoadJSON(*genesisFlag, &genesis)
894+
return &genesis, err
895+
case goerliFlag:
896+
return core.DefaultGoerliGenesisBlock(), nil
897+
case rinkebyFlag:
898+
return core.DefaultRinkebyGenesisBlock(), nil
899+
default:
900+
return nil, fmt.Errorf("no genesis flag provided")
901+
}
902+
}

0 commit comments

Comments
 (0)