前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 实现区块链中的区块,BLOCK的实现

Java 实现区块链中的区块,BLOCK的实现

原创
作者头像
吴生
修改2018-09-17 13:06:10
1.2K0
修改2018-09-17 13:06:10
举报
文章被收录于专栏:吴生的专栏吴生的专栏

1、区块是区块链的基础单元

区块链由若干个区块组成,区块是区块链的基础单元

2、区块链中区块的基本属性

区块6个属性的说明-Index 区块的索引值,区块链中的唯一键

区块6个属性的说明-Timestamp 区块的时间戳,用于区分区块的产生时间

区块6个属性的说明-Hash 区块的hash值是整个区块各个内容整体计算出的hash值

区块6个属性的说明-Previous Hash 前一个区块的hash值

区块6个属性的说明-Data 区块链的数据存储部分,例如比特币是用来存储交易数据

区块6个属性的说明-Nonce(挖矿原理,比特币难度举例) nonce值是形成有效hash的计算出来的

3、区块链区块的代码实现

代码语言:java
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档