BlockChain (V1)

本文介绍了区块链的基本概念,包括分布式账本、加密算法以及工作量证明等核心机制。通过学习,读者将理解区块链如何实现去中心化、安全性以及不可篡改的特性,并探讨其在金融、物联网等领域的应用前景。
摘要由CSDN通过智能技术生成
// block.go
package main

import "time"
import "crypto/sha256"
import "bytes"

type Block struct {
	Version       int64  //版本信息
	PrevBlockHash []byte //前一个区块的hash值
	Hash          []byte //本区块的hash值,为了方便而做了一些简化,正常比特币区块不包含自己的hash值
	TimeStamp     int64  //时间戳,用于标记产生的时间
	TargetBits    int64  //难度值
	Nonce         int64  //随机值
	MerKelRoot    []byte //默克尔根

	Data []byte //区块体,简化,正常来说是一个交易
	//正常分区块头和区块体,这里方便编写,所以写在了一起
}

func NewBlock(data string, prevBlockHash []byte) *Block { //创建交易信息
	//data 是交易,prev是前一个区块的hash值
	block := &Block{ //初始化区块各个字段的数据
		Version:       1,
		PrevBlockHash: prevBlockHash,
		//Hash:
		TimeStamp:  time.Now().Unix(), //时间戳
		TargetBits: 10,                //没有涉及pow证明,后期选个合理的
		Nonce:      5,                 //工作量证明的,此处演示
		MerKelRoot: []byte{},          //根据交易计算出的
		Data:       []byte(data)}
	//现有的内容做一个hash运算
	block.SetHash() /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值