200 行代码使用 C# 实现区块链
文章原文来自:Code your own blockchain in less than 200 lines of Go!,原始文章是通过 Go 语言来实现自己的区块链的,这里我们参照该文章来使用 C# + Asp.Net Core 实现自己的区块链。在这里我也参考了 这篇译文 。
1.项目配置 首先新建一个 Asp.Net Core 项目,然后选择 Empty Project(空项目) 类型,建立完成后无需进行任何配置。
2.数据模型 这里我们来创建一个具体的区块数据模型,使用的是 Struct 结构体。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public struct Block { /// <summary> /// 区块位置 /// </summary> public int Index { get; set; } /// <summary> /// 区块生成时间戳 /// </summary> public string TimeStamp { get; set; } /// <summary> /// 心率数值 /// </summary> public int BPM { get; set; } /// <summary> /// 区块 SHA-256 散列值 /// </summary> public string Hash { get; set; } /// <summary> /// 前一个区块 SHA-256 散列值 /// </summary> public string PrevHash { get; set; } } 这里各个字段的含义已经在注释上方标明了,这里不在过多赘述。 之后我们新建一个 BlockGenerator 静态类用于管理区块链,并且使用一个 List 保存区块链数据。