view src/main/java/christie/blockchain/Block.java @ 168:c7300be0fff6

fix incomingHosts end message
author akahori
date Tue, 22 Jan 2019 16:00:29 +0900
parents 0ef25958ac04
children dd3c0ba6a0a6
line wrap: on
line source

package christie.blockchain;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class Block {
    private BlockHeader header;

    private String data;

    private List<Transaction> transactionsList = new CopyOnWriteArrayList<>();

    public Block(String data, long difficulty, long timestamp){
        this("".getBytes(), difficulty, 0, data, timestamp, null);
    }
    public Block(byte[] parentHash, long difficulty, long number, String data, long timestamp){
        this(parentHash, difficulty, number, data, timestamp, null);
    }

    public Block(byte[] parentHash, long difficulty, long number, String data, long timestamp, List<Transaction> transactionsList) {
        this.header = new BlockHeader(parentHash, difficulty, number, timestamp);
        this.data = data;
        if (this.transactionsList == null) {
            this.transactionsList = new CopyOnWriteArrayList<>();
        }
    }

    public BlockHeader getHeader(){
        return this.header;
    }

    public long getTimestamp() {
        return this.header.getTimestamp();
    }

    public byte[] getPresentHash(){
        return this.header.getPresentHash();
    }

    public byte[] getParentHash(){
        return this.header.getParentHash();
    }

    public String getData(){
        return data;
    }

    public void setNonce(long nonce) {
        this.header.setNonce(nonce);
    }

    public long getNonce(){
        return this.header.getNonce();
    }

    public byte[] getByteArrayWithoutNonce(){
        return this.header.getByteArrayWithoutNonce();
    }

    public long getNumber() {
        return this.header.getNumber();
    }

}