OSDN Git Service

add query API
[bytom/bytom.git] / cmd / bytomcli / example / issue.go
1 package example
2
3 import (
4         //"bytes"
5         "context"
6 //      "flag"
7         "fmt"
8         //"io"
9         //"net"
10         //"net/http"
11         //"os"
12         //"path/filepath"
13         //"strings"
14         //"time"
15         //stdjson "encoding/json"
16
17         //"github.com/bytom/blockchain"
18         "github.com/bytom/blockchain/rpc"
19         //"github.com/bytom/crypto/ed25519"
20         //"github.com/bytom/env"
21         //"github.com/bytom/errors"
22         //"github.com/bytom/log"
23         "github.com/bytom/crypto/ed25519/chainkd"
24 )
25
26 // TO DO: issue a asset to a account.
27 func IssueTest(client *rpc.Client, args []string) {
28         // Create Account.
29         fmt.Printf("To create Account:\n")
30         xprv, _ := chainkd.NewXPrv(nil)
31         xpub := xprv.XPub()
32         fmt.Printf("xprv_account:%v\n", xprv)
33         fmt.Printf("xpub_account:%v\n", xpub)
34         type Ins struct {
35             RootXPubs []chainkd.XPub `json:"root_xpubs"`
36                 Quorum    int
37                 Alias     string
38                 Tags      map[string]interface{}
39                 ClientToken string `json:"client_token"`
40         }
41         var ins Ins
42         ins.RootXPubs = []chainkd.XPub{xpub}
43         ins.Quorum = 1
44         ins.Alias = "alice"
45         ins.Tags = map[string]interface{}{"test_tag": "v0",}
46         ins.ClientToken = "account"
47         account := make([]interface{}, 50)
48         client.Call(context.Background(), "/create-account", &[]Ins{ins,}, &account)
49         fmt.Printf("account:%v\n", account)
50
51
52         // Create Asset.
53         fmt.Printf("To create Asset:\n")
54         xprv_asset, _ := chainkd.NewXPrv(nil)
55         xpub_asset := xprv_asset.XPub()
56         fmt.Printf("xprv_asset:%v\n", xprv_asset)
57         fmt.Printf("xpub_asset:%v\n", xpub_asset)
58         type Ins_asset struct {
59             RootXPubs []chainkd.XPub `json:"root_xpubs"`
60                 Quorum    int
61                 Alias     string
62                 Tags      map[string]interface{}
63                 Definition  map[string]interface{}
64                 ClientToken string `json:"client_token"`
65         }
66         var ins_asset Ins_asset
67         ins_asset.RootXPubs = []chainkd.XPub{xpub_asset}
68         ins_asset.Quorum = 1
69         ins_asset.Alias = "gold"
70         ins_asset.Tags = map[string]interface{}{"test_tag": "v0",}
71         ins_asset.Definition = map[string]interface{}{"test_definition": "v0"}
72         ins_asset.ClientToken = "asset"
73         asset := make([]interface{}, 50)
74         client.Call(context.Background(), "/create-asset", &[]Ins_asset{ins_asset,}, &asset)
75         fmt.Printf("asset:%v\n", asset)
76 }