(contract common.Address, shardIdxList []uint64, chunkSize, kvSize, kvEntries uint64, miner common.Address, encodeType uint64)
| 90 | } |
| 91 | |
| 92 | func createEthStorage(contract common.Address, shardIdxList []uint64, chunkSize, kvSize, kvEntries uint64, |
| 93 | miner common.Address, encodeType uint64) (*ShardManager, []string) { |
| 94 | sm := NewShardManager(contract, kvSize, kvEntries, chunkSize) |
| 95 | ContractToShardManager[contract] = sm |
| 96 | chunkPerKv := kvSize / chunkSize |
| 97 | |
| 98 | files := make([]string, 0) |
| 99 | for _, shardIdx := range shardIdxList { |
| 100 | sm.AddDataShard(shardIdx) |
| 101 | fileName := fmt.Sprintf(".\\ss%d.dat", shardIdx) |
| 102 | files = append(files, fileName) |
| 103 | startChunkId := shardIdx * chunkPerKv * kvEntries |
| 104 | _, err := Create(fileName, startChunkId, kvEntries*chunkPerKv, 0, kvSize, encodeType, miner, sm.ChunkSize()) |
| 105 | if err != nil { |
| 106 | lg.Crit("open failed", "error", err) |
| 107 | } |
| 108 | |
| 109 | var df *DataFile |
| 110 | df, err = OpenDataFile(fileName) |
| 111 | if err != nil { |
| 112 | lg.Crit("open failed", "error", err) |
| 113 | } |
| 114 | sm.AddDataFile(df) |
| 115 | } |
| 116 | |
| 117 | return sm, files |
| 118 | } |
| 119 | |
| 120 | func createBlob(kvIndex uint64) (blob []byte, hash common.Hash) { |
| 121 | val := make([]byte, 131072) |
no test coverage detected