diff --git a/identitychain/identityblock.go b/identitychain/identityblock.go deleted file mode 100644 index 46bd295d5..000000000 --- a/identitychain/identityblock.go +++ /dev/null @@ -1,74 +0,0 @@ -package identitychain - -import ( - "bytes" - "crypto/sha256" - "encoding/gob" - "log" - "time" - - "github.com/simple-rules/harmony-benchmark/node" - "github.com/simple-rules/harmony-benchmark/utils" -) - -// IdentityBlock has the information of one node -type IdentityBlock struct { - Timestamp int64 - PrevBlockHash [32]byte - NumIdentities int32 - Identities []*node.Node -} - -// Serialize serializes the block -func (b *IdentityBlock) Serialize() []byte { - var result bytes.Buffer - encoder := gob.NewEncoder(&result) - err := encoder.Encode(b) - if err != nil { - log.Panic(err) - } - return result.Bytes() -} - -// GetIdentities returns a list of identities. -func (b *IdentityBlock) GetIdentities() []*node.Node { - return b.Identities -} - -// DeserializeBlock deserializes a block -func DeserializeBlock(d []byte) *IdentityBlock { - var block IdentityBlock - decoder := gob.NewDecoder(bytes.NewReader(d)) - err := decoder.Decode(&block) - if err != nil { - log.Panic(err) - } - return &block -} - -// NewBlock creates and returns a new block. -func NewBlock(Identities []*node.Node, prevBlockHash [32]byte) *IdentityBlock { - block := &IdentityBlock{Timestamp: time.Now().Unix(), PrevBlockHash: prevBlockHash, NumIdentities: int32(len(Identities)), Identities: Identities} - return block -} - -// CalculateBlockHash returns a hash of the block -func (b *IdentityBlock) CalculateBlockHash() [32]byte { - var hashes [][]byte - var blockHash [32]byte - hashes = append(hashes, utils.ConvertFixedDataIntoByteArray(b.Timestamp)) - hashes = append(hashes, b.PrevBlockHash[:]) - for _, id := range b.Identities { - hashes = append(hashes, utils.ConvertFixedDataIntoByteArray(id)) - } - hashes = append(hashes, utils.ConvertFixedDataIntoByteArray(b.NumIdentities)) - blockHash = sha256.Sum256(bytes.Join(hashes, []byte{})) - return blockHash -} - -// NewGenesisBlock creates and returns genesis Block. -func NewGenesisBlock() *IdentityBlock { - var Ids []*node.Node - block := &IdentityBlock{Timestamp: time.Now().Unix(), PrevBlockHash: [32]byte{}, NumIdentities: 1, Identities: Ids} - return block -}