cmd/cli/native_deploy.go

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/*
 * Copyright (c) 2019. Baidu Inc. All Rights Reserved.
 */

package main

import (
	"context"
	"fmt"
	"io/ioutil"
	"os"

	"github.com/golang/protobuf/proto"
	"github.com/spf13/cobra"

	crypto_client "github.com/xuperchain/xuperunion/crypto/client"
	"github.com/xuperchain/xuperunion/crypto/hash"
	"github.com/xuperchain/xuperunion/global"
	"github.com/xuperchain/xuperunion/pb"
)

// NativeDeployCommand native deploy cmd
type NativeDeployCommand struct {
	cli *Cli
	cmd *cobra.Command

	name    string
	version string
	single  bool
}

// NewNativeDeployCommand new native deploy cmd
func NewNativeDeployCommand(cli *Cli) *cobra.Command {
	c := new(NativeDeployCommand)
	c.cli = cli
	c.cmd = &cobra.Command{
		Use:   "deploy BINARY",
		Short: "[Deprecated] Deploy a native contract.",
		Args:  cobra.MinimumNArgs(1),
		RunE: func(cmd *cobra.Command, args []string) error {
			ctx := context.TODO()
			return c.deploy(ctx, args[0])
		},
	}
	c.addFlags()
	return c.cmd
}

func (c *NativeDeployCommand) addFlags() {
	c.cmd.Flags().StringVarP(&c.name, "cname", "n", "", "native code name")
	c.cmd.MarkFlagRequired("cname")
	c.cmd.Flags().StringVarP(&c.version, "version", "v", "", "native code version")
	c.cmd.MarkFlagRequired("version")
	c.cmd.Flags().BoolVarP(&c.single, "single", "s", false, "only deploy on a single node")
}

func (c *NativeDeployCommand) signDesc(desc *pb.NativeCodeDesc, privkey []byte) ([]byte, error) {
	// create crypto client
	cryptoClient, cryptoErr := crypto_client.CreateCryptoClientFromJSONPrivateKey(privkey)
	if cryptoErr != nil {
后面还有 85 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。