MCPcopy Create free account
hub / github.com/ethstorage/es-node / createEthStorage

Function createEthStorage

ethstorage/storage_manager_test.go:92–118  ·  view source on GitHub ↗
(contract common.Address, shardIdxList []uint64, chunkSize, kvSize, kvEntries uint64,
	miner common.Address, encodeType uint64)

Source from the content-addressed store, hash-verified

90}
91
92func 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
120func createBlob(kvIndex uint64) (blob []byte, hash common.Hash) {
121 val := make([]byte, 131072)

Callers 1

setupFunction · 0.70

Calls 6

AddDataShardMethod · 0.95
ChunkSizeMethod · 0.95
AddDataFileMethod · 0.95
NewShardManagerFunction · 0.85
CreateFunction · 0.85
OpenDataFileFunction · 0.85

Tested by

no test coverage detected