更新日期:2021.01.07
视频下载提取码:ia8t
# 一、课程介绍
1. 内容:5天手把手打造比特币
2. 配套材料
1. 课件
2. 视频
3. 笔记
4. 代码
5. 导图
# 二、课程特色
1. 深入讲解比特币的技术细节,UTXO,锁定脚本,POW,数字签名等
2. 开发过程中同步对比BitcoinCore客户端,更加贴近实际产品
3. 开发过程循序渐进,先后使用五个版本迭代开发
4. 绘制了大量的讲解图示,思维导图,方便学员快速吸收
5. 理论与实践结合,确保每个知识点有代码落地
6. 结合密码学知识,基于go语言实现理论验证
7. 开发代码同步提交到git仓库,贴近企业实战
# 三、适合人群
1. 在校学生(教师)、计算机从业人员、区块链爱好者
2. 了解基本的go语言语法
# 四、课程章节介绍
## 1. 第一天
```js
01-课程介绍及演示
02-人类交易发展史
03-比特币诞生背景
04-中心化vs去中心化
05-比特币概述
06-传统记账vs比特币记账
07-钱包介绍
08-节点介绍
09-挖矿介绍
10-挖矿答疑
11-区块链在线demo演示
12-算力-矿机-矿工-矿池
13-出块时间10分钟
14-比特币总量
15-容量-单位
16-比特币转账流程
17-数字签名回顾
18-数字签名在交易中的应用
19-P2P网络介绍
20-挖矿介绍
21-比特币地址介绍
22-区块头介绍
23-区块体介绍
24-v1版本实现流程
25-git工程创建
26-定义-创建-打印区块
27-SetHash函数实现
28-区块链定义及遍历打印
29-添加区块
30-代码重构
31-更新补充区块字段
32-更新NewBlock函数和SetHash函数
33-Join函数优化代码
```
## 2. 第二天
```js
01-今日课程介绍
02-课程回顾
03-pow结构分析
04-pow结构定义-NewProofOfWork实现
05-Run函数实现
06-使用pow更新NewBlock
07-校验挖矿是否有效
08-block补充字段打印
09-使用Bits调整难度值
10-v2版本导图分析
11-v3演示
12-v3思路分析
13-github-bolt介绍
14-boltDemo
15-分析bolt存储区块的格式
16-课程回顾
17-更新NewBlockChain
18-gob编码解码示例
19-gob编码解码区块
20-更新AddBlcok
21-迭代器图示分析
22-定义迭代器-创建迭代器
23-迭代器Next函数实现
24-改写main函数打印区块链
25-命令行简介
26-CLI-Run框架搭建
27-CLI-Run具体实现调用
28-命令行有效性校验
```
## 3.第三天
```js
01-问题反馈
02-传统转账vs比特币转账
03-比特币找零-手续费
04-比特币交易形式
05-交易输出output
06-交易输入input
07-解锁流程详解
08-UTXO介绍
09-utxo张三李四转账示例
10-比特币核心演示交易
11-交易结构定义
12-SetTXID函数实现
13-挖矿交易实现
14-使用Transaction改写程序
15-课程回顾
16-HashTransaction实现
17-查找某个地址余额思路分析
18-GetBalance命令空实现
19-遍历交易输出TXOutputs
20-遍历交易输入TXInputs
21-过滤已经消耗过的output
22-创建普通交易思路分析
23-创建普通交易-上
24-创建普通交易-下
25-FindNeedUTXO实现
26-send命令实现
```
## 4.第四天
```js
01-课程回顾
02-定义UTXOInfo结构
03-改写FindMyUtxo函数
04-改写FindNeedUTXO函数
05-添加coinbase
06-分析添加创建区块链思路
07-拆分NewBlockChain函数功能
08-添加CreateBlockChain命令
09-使用NewBlockChain改写GetBalance
10-分析IsFileExist
11-实现IsFileExist-优化代码
12-v5功能介绍-实现步骤分析
13-v5地址功能演示
14-ecdsaTest
15-上午课程回顾
16-定义钱包结构WalletKeyPair
17-GetAddress
18-定义Wallets结构-CreateWallet
19-SaveToFile
20-LoadFromFile
21-ListAddresses
22-改写TXInput和TXOutput
23-实现NewTXOutput方法
24-改写NewCoinbaseTx
25-改写NewTransaction
26-使用HashPubKey函数改写GetAddress
27-改写BlockChain中相关代码
```
## 5.第五天
```js
01-课程回顾
02-地址有效性校验
03-签名过程概述
04-签名详解
05-签名详细图示
06-签名框架搭建
07-实现SignTransaction函数
08-实现FindTransaction函数
09-实现VerifyTransaction函数
10-在AddBlock前对交易进行校验
11-课程回顾
12-Sign步骤分析-TrimmedCopy函数实现
13-Sign函数实现细节
14-Verify函数实现细节
15-打印交易String
0人已评分
我也要评分