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
9093var (
@@ -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