区块链V1版本实现之二
2024-10-20 03:22:26
部分程序代码(生成并调用hash代码):
1 //创建区块,对Block的每一个字段填充数据
2 func NewBlock(data string, prevBlockHash []byte) *Block{
3 block := Block{
4 PrevBlockHash: prevBlockHash,
5 Hash: []byte{}, //先填充为空
6 Data: []byte(data),
7 }
8
9 //V1之二版本添加实现hash输出
10 block.SetHash()
11
12 return &block
13 }
14
15 //为了生成区块哈希,实现一个简单的函数,来计算哈希值,没有随机值,没有难度值
16 func (block *Block) SetHash() {
17 var data []byte
18 data = append(data, block.PrevBlockHash...)
19 data = append(data, block.Data...)
20
21 hash /* [32]byte */:= sha256.Sum256(data)
22 block.Hash = hash[:]
23 }
输出效果:
最新文章
- robocopy 命令小结
- UIWebView显示乱码问题
- 关于WPF中文件夹浏览对话框的方式
- 20145223《Java程序程序设计》第2周学习总结
- 8 个最棒的 .NET 开发相关工具
- 关于.net编译时目标生成平台
- android和ios流媒体库推荐
- LFI &; RFI &; PHP封装协议之安全问题研究
- Light OJ 1104 第六周F题
- Oracle 如何写出高效的 SQL
- UVa 10012 - How Big Is It? 堆球问题 全排列+坐标模拟 数据
- HDU2553(回溯)
- BMP图片格式模型(2)
- Openssl 生成证书server.key and server.crt
- 从零开始学习前端开发 — 3、CSS盒模型
- OO面向对象课程作业1-3总结
- 学习笔记3-开发与运行(卸载)第一个ANDROID应用
- 【一天一道LeetCode】#90. Subsets II
- Linux中Apache服务器的简单配置
- 学习Spring必须了解的基础知识——回调机制