update init script (#309)

* update init script

* rename faucet cmd
This commit is contained in:
Federico Kunze 2020-05-20 17:29:26 -04:00 committed by GitHub
parent 50ddf9ae73
commit 5d15be6adb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 21 deletions

30
init.sh
View File

@ -2,27 +2,27 @@
KEY="mykey" KEY="mykey"
CHAINID=8 CHAINID=8
MONIKER="mymoniker" MONIKER="localtestnet"
# remove existing chain environment, data and # remove existing daemon and client
rm -rf ~/.emint* rm -rf ~/.emint*
make install make install
emintcli config keyring-backend test emintcli config keyring-backend test
# if mykey exists it should be deleted
emintcli keys add $KEY
# Set moniker and chain-id for Ethermint (Moniker can be anything, chain-id must be an integer)
emintd init $MONIKER --chain-id $CHAINID
# Set up config for CLI # Set up config for CLI
emintcli config chain-id $CHAINID emintcli config chain-id $CHAINID
emintcli config output json emintcli config output json
emintcli config indent true emintcli config indent true
emintcli config trust-node true emintcli config trust-node true
# if $KEY exists it should be deleted
emintcli keys add $KEY
# Set moniker and chain-id for Ethermint (Moniker can be anything, chain-id must be an integer)
emintd init $MONIKER --chain-id $CHAINID
# Allocate genesis accounts (cosmos formatted addresses) # Allocate genesis accounts (cosmos formatted addresses)
emintd add-genesis-account $(emintcli keys show $KEY -a) 1000000000000000000photon,1000000000000000000stake emintd add-genesis-account $(emintcli keys show $KEY -a) 1000000000000000000photon,1000000000000000000stake
@ -32,13 +32,21 @@ emintd gentx --name $KEY --keyring-backend test
# Collect genesis tx # Collect genesis tx
emintd collect-gentxs emintd collect-gentxs
# Enable faucet
cat $HOME/.emintd/config/genesis.json | jq '.app_state["faucet"]["enable_faucet"]=true' > $HOME/.emintd/config/tmp_genesis.json && mv $HOME/.emintd/config/tmp_genesis.json $HOME/.emintd/config/genesis.json
echo -e '\n\ntestnet faucet enabled'
echo -e 'to transfer tokens to your account address use:'
echo -e "emintcli tx faucet request 100photon --from $KEY\n"
# Run this to ensure everything worked and that the genesis file is setup correctly # Run this to ensure everything worked and that the genesis file is setup correctly
emintd validate-genesis emintd validate-genesis
# Command to run the rest server in a different terminal/window # Command to run the rest server in a different terminal/window
echo -e '\n\nRun this rest-server command in a different terminal/window:' echo -e '\nrun the following command in a different terminal/window to run the REST server and JSON-RPC:'
echo -e "emintcli rest-server --laddr \"tcp://localhost:8545\" --unlock-key $KEY --chain-id $CHAINID\n\n" echo -e "emintcli rest-server --laddr \"tcp://localhost:8545\" --unlock-key $KEY --chain-id $CHAINID --trace\n"
# Start the node (remove the --pruning=nothing flag if historical queries are not needed) # Start the node (remove the --pruning=nothing flag if historical queries are not needed)
emintd start --pruning=nothing --rpc.unsafe --log_level "main:info,state:info,mempool:info" emintd start --pruning=nothing --rpc.unsafe --log_level "main:info,state:info,mempool:info" --trace

View File

@ -27,17 +27,17 @@ func GetTxCmd(cdc *codec.Codec) *cobra.Command {
} }
faucetTxCmd.AddCommand(flags.PostCommands( faucetTxCmd.AddCommand(flags.PostCommands(
GetCmdFund(cdc), GetCmdRequest(cdc),
)...) )...)
return faucetTxCmd return faucetTxCmd
} }
// GetCmdFund is the CLI command to fund an address with the requested coins // GetCmdRequest is the CLI command to fund an address with the requested coins
func GetCmdFund(cdc *codec.Codec) *cobra.Command { func GetCmdRequest(cdc *codec.Codec) *cobra.Command {
return &cobra.Command{ return &cobra.Command{
Use: "fund [amount] [other-recipient (optional)]", Use: "request [amount] [other-recipient (optional)]",
Short: "fund an address with the requested coins", Short: "request an address with the requested coins",
Args: cobra.RangeArgs(1, 2), Args: cobra.RangeArgs(1, 2),
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
inBuf := bufio.NewReader(cmd.InOrStdin()) inBuf := bufio.NewReader(cmd.InOrStdin())

View File

@ -16,20 +16,20 @@ import (
// RegisterRoutes register REST endpoints for the faucet module // RegisterRoutes register REST endpoints for the faucet module
func RegisterRoutes(cliCtx context.CLIContext, r *mux.Router) { func RegisterRoutes(cliCtx context.CLIContext, r *mux.Router) {
r.HandleFunc(fmt.Sprintf("/%s/fund", types.ModuleName), fundHandlerFn(cliCtx)).Methods("POST") r.HandleFunc(fmt.Sprintf("/%s/request", types.ModuleName), requestHandler(cliCtx)).Methods("POST")
r.HandleFunc(fmt.Sprintf("/%s/funded", types.ModuleName), fundedHandlerFn(cliCtx)).Methods("GET") r.HandleFunc(fmt.Sprintf("/%s/funded", types.ModuleName), fundedHandlerFn(cliCtx)).Methods("GET")
} }
// PostFundRequest defines fund request's body. // PostRequestBody defines fund request's body.
type PostFundRequest struct { type PostRequestBody struct {
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"` BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
Amount sdk.Coins `json:"amount" yaml:"amount"` Amount sdk.Coins `json:"amount" yaml:"amount"`
Recipient string `json:"receipient" yaml:"receipient"` Recipient string `json:"receipient" yaml:"receipient"`
} }
func fundHandlerFn(cliCtx context.CLIContext) http.HandlerFunc { func requestHandler(cliCtx context.CLIContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, r *http.Request) {
var req PostFundRequest var req PostRequestBody
if !rest.ReadRESTReq(w, r, cliCtx.Codec, &req) { if !rest.ReadRESTReq(w, r, cliCtx.Codec, &req) {
rest.WriteErrorResponse(w, http.StatusBadRequest, "failed to parse request") rest.WriteErrorResponse(w, http.StatusBadRequest, "failed to parse request")
return return