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;
}
}
作者:文武艺
推荐阅读:https://www.roncoo.com/course/view/45408f63110e428389881f4d84d0cd30
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。