diff --git a/prvd/networks/networks.go b/prvd/networks/networks.go index f2d471b..7e8d351 100644 --- a/prvd/networks/networks.go +++ b/prvd/networks/networks.go @@ -9,6 +9,8 @@ import ( var network map[string]interface{} var networks []interface{} +var optional bool +var paginate bool var NetworksCmd = &cobra.Command{ Use: "networks", @@ -28,7 +30,6 @@ var NetworksCmd = &cobra.Command{ } func init() { - NetworksCmd.AddCommand(networksInitCmd) NetworksCmd.AddCommand(networksListCmd) NetworksCmd.AddCommand(networksDisableCmd) NetworksCmd.Flags().BoolVarP(&optional, "optional", "", false, "List all the optional flags") diff --git a/prvd/networks/networks_init.go b/prvd/networks/networks_init.go deleted file mode 100644 index 414834a..0000000 --- a/prvd/networks/networks_init.go +++ /dev/null @@ -1,110 +0,0 @@ -package networks - -import ( - "encoding/json" - "fmt" - "log" - "os" - - "github.com/provideplatform/provide-cli/prvd/common" - provide "github.com/provideplatform/provide-go/api/nchain" - "github.com/spf13/cobra" -) - -var chain string -var nativeCurrency string -var platform string -var protocolID string -var networkName string -var optional bool -var paginate bool - -var networksInitCmd = &cobra.Command{ - Use: "init --name 'whiteblock testnet", - Short: "Initialize a new network", - Long: `Initialize a new network with options`, - Run: CreateNetwork, -} - -// CreateNetwork configures a new peer-to-peer network; -// see https://docs.provide.services/microservices/goldmine/#create-a-network -func CreateNetwork(cmd *cobra.Command, args []string) { - token := common.RequireAPIToken() - params := map[string]interface{}{ - "name": networkName, - "config": configFactory(), - } - network, err := provide.CreateNetwork(token, params) - if err != nil { - log.Printf("Failed to initialize network; %s", err.Error()) - os.Exit(1) - } - common.NetworkID = network.ID.String() - result := fmt.Sprintf("%s\t%s\n", network.ID.String(), *network.Name) - fmt.Print(result) -} - -func init() { - networksInitCmd.Flags().StringVar(&networkName, "name", "", "name of the network") - // networksInitCmd.MarkFlagRequired("name") - - networksInitCmd.Flags().StringVar(&chain, "chain", "", "name of the chain") - // networksInitCmd.MarkFlagRequired("chain") - - networksInitCmd.Flags().StringVar(&common.EngineID, "engine", "", "consensus engine to be used for the chain (i.e., ethash, poa, ibft)") - // networksInitCmd.MarkFlagRequired("engine") - - networksInitCmd.Flags().StringVar(&nativeCurrency, "native-currency", "", "symbol representing the native currency on the network (i.e., ETH)") - // networksInitCmd.MarkFlagRequired("native-currency") - - networksInitCmd.Flags().StringVar(&platform, "platform", "", "platform type (i.e., evm, bcoin)") - // networksInitCmd.MarkFlagRequired("platform") - - networksInitCmd.Flags().StringVar(&protocolID, "protocol", "", "type of consensus mechanism (i.e., pow, poa)") - // networksInitCmd.MarkFlagRequired("protocol") -} - -func configFactory() map[string]interface{} { - var chainspec map[string]interface{} - if common.EngineID == "clique" { - chainspec = cliqueChainspecFactory() - } else { - log.Printf("Failed to initialize network; additional chainspec factories should be implemented") - os.Exit(1) - } - - return map[string]interface{}{ - "chain": chain, - "chainspec": chainspec, - "engine_id": common.EngineID, - "native_currency": nativeCurrency, - "platform": platform, - "protocol_id": protocolID, - } -} - -func cliqueChainspecFactory() map[string]interface{} { - genesis := map[string]interface{}{} - json.Unmarshal([]byte(`{ - "config": { - "chainId": , - "homesteadBlock": 0, - "eip150Block": 0, - "eip155Block": 0, - "eip158Block": 0, - "byzantiumBlock": 0, - "constantinopleBlock": 0, - "petersburgBlock": 0 - }, - "alloc": {}, - "coinbase": "0x0000000000000000000000000000000000000000", - "difficulty": "0x20000", - "extraData": "", - "gasLimit": "0x2fefd8", - "nonce": "0x0000000000000042", - "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "timestamp": "0x00" - }`), &genesis) - return genesis -} diff --git a/prvd/networks/networks_list.go b/prvd/networks/networks_list.go index 290d2c7..7985fe0 100644 --- a/prvd/networks/networks_list.go +++ b/prvd/networks/networks_list.go @@ -37,8 +37,28 @@ func listNetworks(cmd *cobra.Command, args []string) { log.Printf("Failed to retrieve networks list; %s", err.Error()) os.Exit(1) } + + publicNetworks := []*provide.Network{} + privateNetworks := []*provide.Network{} for i := range networks { network := networks[i] + + if network.UserID == nil && network.ApplicationID == nil { + publicNetworks = append(publicNetworks, network) + } else { + privateNetworks = append(privateNetworks, network) + } + } + + fmt.Println("public:") + for i := range publicNetworks { + network := publicNetworks[i] + result := fmt.Sprintf("%s\t%s\n", network.ID.String(), *network.Name) + fmt.Print(result) + } + fmt.Println("private:") + for i := range privateNetworks { + network := privateNetworks[i] result := fmt.Sprintf("%s\t%s\n", network.ID.String(), *network.Name) fmt.Print(result) } diff --git a/prvd/networks/networks_prompt.go b/prvd/networks/networks_prompt.go index 8fe4d0c..0d2bcb1 100644 --- a/prvd/networks/networks_prompt.go +++ b/prvd/networks/networks_prompt.go @@ -5,11 +5,10 @@ import ( "github.com/spf13/cobra" ) -const promptStepInit = "Initialize" const promptStepList = "List" const promptStepDisable = "Disable" -var emptyPromptArgs = []string{promptStepInit, promptStepList, promptStepDisable} +var emptyPromptArgs = []string{promptStepList, promptStepDisable} var emptyPromptLabel = "What would you like to do" var publicPromptArgs = []string{"Yes", "No"} @@ -18,24 +17,6 @@ var publicPromptLabel = "Would you like the network to be public" // General Endpoints func generalPrompt(cmd *cobra.Command, args []string, currentStep string) { switch step := currentStep; step { - case promptStepInit: - // Validation non-null - if chain == "" { - chain = common.FreeInput("Chain", "", common.NoValidation) - } - if nativeCurrency == "" { - nativeCurrency = common.FreeInput("Native Currency", "", common.NoValidation) - } - if platform == "" { - platform = common.FreeInput("Platform", "", common.NoValidation) - } - if protocolID == "" { - protocolID = common.FreeInput("Protocol ID", "", common.NoValidation) - } - if networkName == "" { - networkName = common.FreeInput("Network Name", "", common.NoValidation) - } - CreateNetwork(cmd, args) case promptStepList: if optional { result := common.SelectInput(publicPromptArgs, publicPromptLabel)