1、區塊是區塊鏈的基礎單元
區塊鏈由若干個區塊組成,區塊是區塊鏈的基礎單元
2、區塊鏈中區塊的基本屬性
區塊6個屬性的說明-Index 區塊的索引值,區塊鏈中的唯一鍵
區塊6個屬性的說明-Timestamp 區塊的時間戳,用於區分區塊的產生時間
區塊6個屬性的說明-Hash 區塊的hash值是整個區塊各個內容整體計算出的hash值
區塊6個屬性的說明-Previous Hash 前一個區塊的hash值
區塊6個屬性的說明-Data 區塊鏈的數據存儲部分,例如比特幣是用來存儲交易數據
區塊6個屬性的說明-Nonce(挖礦原理,比特幣難度舉例) nonce值是形成有效hash的計算出來的
3、區塊鏈區塊的代碼實現
package cn.wenwuyi.blockchain.pojo;
/**
*
* 類名:Block.java
* 描述:區塊實體類
* 時間:2018年3月12日 下午7:03:50
* @author cn.wenwuyi
* @version 1.0
*/
public class Block {
/**
* 索引
*/
private int index;
/**
* 前一個區塊的hash值
*/
private String previousHash;
/**
* 時間戳
*/
private long timestamp;
/**
* 數據,交易數據等
*/
private String data;
/**
* hash值
*/
private String hash;
/**
* nonce值(難度係數)
*/
private long nonce;
public Block() {
}
public Block(int index, String previousHash, long timestamp, String data, String hash,long nonce) {
this.index = index;
this.previousHash = previousHash;
this.timestamp = timestamp;
this.data = data;
this.hash = hash;
this.nonce = nonce;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public String getPreviousHash() {
return previousHash;
}
public void setPreviousHash(String previousHash) {
this.previousHash = previousHash;
}
public long getTimestamp() {
return timestamp;
}
public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String getHash() {
return hash;
}
public void setHash(String hash) {
this.hash = hash;
}
public long getNonce() {
return nonce;
}
public void setNonce(long nonce) {
this.nonce = nonce;
}
}