github.com/0chain/gosdk@v1.17.11/zcncore/sample/snapshot_test.go (about) 1 package sample 2 3 import ( 4 "fmt" 5 "sync" 6 "testing" 7 8 "github.com/0chain/gosdk/zcnbridge/wallet" 9 "github.com/0chain/gosdk/zcncore" 10 ) 11 12 type BlobberAggregate struct { 13 BlobberID string `json:"blobber_id" gorm:"index:idx_blobber_aggregate,unique"` 14 Round int64 `json:"round" gorm:"index:idx_blobber_aggregate,unique"` 15 16 WritePrice uint64 `json:"write_price"` 17 Capacity int64 `json:"capacity"` // total blobber capacity 18 Allocated int64 `json:"allocated"` // allocated capacity 19 SavedData int64 `json:"saved_data"` 20 ReadData int64 `json:"read_data"` 21 OffersTotal uint64 `json:"offers_total"` 22 TotalStake uint64 `json:"total_stake"` 23 24 TotalServiceCharge uint64 `json:"total_service_charge"` 25 ChallengesPassed uint64 `json:"challenges_passed"` 26 ChallengesCompleted uint64 `json:"challenges_completed"` 27 OpenChallenges uint64 `json:"open_challenges"` 28 InactiveRounds int64 `json:"InactiveRounds"` 29 RankMetric float64 `json:"rank_metric" gorm:"index:idx_ba_rankmetric"` 30 } 31 32 const ChainConfig = ` 33 { 34 "chain_id":"0afc093ffb509f059c55478bc1a60351cef7b4e9c008a53a6cc8241ca8617dfe", 35 "signature_scheme" : "bls0chain", 36 "block_worker" : "http://dev.zus.network/dns", 37 "min_submit" : 50, 38 "min_confirmation" : 50, 39 "confirmation_chain_length" : 3, 40 "num_keys" : 1, 41 "eth_node" : "https://ropsten.infura.io/v3/xxxxxxxxxxxxxxx" 42 } 43 ` 44 45 func TestGetAggregates(t *testing.T) { 46 t.Skip("learning test") 47 err := zcncore.Init(ChainConfig) 48 if err != nil { 49 fmt.Println("Init failed") 50 return 51 } 52 53 var w = ` 54 { 55 "client_id":"0bc96a0980170045863d826f9eb579d8144013210602e88426408e9f83c236f6", 56 "client_key":"a4e58c66b072d27288b650db9a476fe66a1a4f69e0f8fb11499f9ec3a579e21e5dc0298b8c5ae5baa205730d06bc04b07a31943ab3bd620e8427c15d5c413b9e", 57 "keys":[ 58 { 59 "public_key":"a4e58c66b072d27288b650db9a476fe66a1a4f69e0f8fb11499f9ec3a579e21e5dc0298b8c5ae5baa205730d06bc04b07a31943ab3bd620e8427c15d5c413b9e", 60 "private_key":"c0f3a3100241888ea9c2cc5c7300e3e510a8e7190c2c20b03f80e3937a91530d" 61 }], 62 "mnemonics":"snake mixed bird cream cotton trouble small fee finger catalog measure spoon private second canal pact unable close predict dream mask delay path inflict", 63 "version":"1.0", 64 "date_created":"2019-06-19 13:37:50.466889 -0700 PDT m=+0.023873276" 65 }` 66 67 err = zcncore.SetWalletInfo(w, false) 68 if err != nil { 69 fmt.Println("set wallet info failed: ", err) 70 return 71 } 72 73 wg := &sync.WaitGroup{} 74 var snaps []BlobberAggregate 75 statusBar := wallet.NewZCNStatus(&snaps) 76 statusBar.Wg = wg 77 wg.Add(5) 78 err = zcncore.GetBlobberSnapshots(int64(587), 20, 0, statusBar) 79 if err != nil { 80 t.Error(err) 81 return 82 } 83 84 err = zcncore.GetSharderSnapshots(int64(587), 20, 0, statusBar) 85 if err != nil { 86 t.Error(err) 87 return 88 } 89 90 err = zcncore.GetMinerSnapshots(int64(587), 20, 0, statusBar) 91 if err != nil { 92 t.Error(err) 93 return 94 } 95 96 err = zcncore.GetAuthorizerSnapshots(int64(587), 20, 0, statusBar) 97 if err != nil { 98 t.Error(err) 99 return 100 } 101 102 err = zcncore.GetValidatorSnapshots(int64(587), 20, 0, statusBar) 103 if err != nil { 104 t.Error(err) 105 return 106 } 107 108 err = zcncore.GetUserSnapshots(int64(587), 20, 0, statusBar) 109 if err != nil { 110 t.Error(err) 111 return 112 } 113 114 wg.Wait() 115 if !statusBar.Success { 116 t.Error(statusBar.Err) 117 } 118 }