JavaEE鸿蒙应用开发HTML&JS+前端Python+大数据开发人工智能开发AI+设计软件测试新媒体+短视频直播运营产品经理集成电路应用开发(含嵌入式)Linux云计算+运维开发C/C++拍摄剪辑+短视频制作PMP项目管理认证电商运营Go语言与区块链大数据PHP工程师Android+物联网iOS.NET

贴合企业实战5天深入掌握比特币技术中级教程

更新日期:2021.01.07

全套视频教程及资料

视频教程技术解析配套源码学习工具学习笔记

一键免费下载

扫码关注,回复关键词,马上领取全套视频资源!

1. 微信扫描二维码,
    关注“黑马程序员”公众号(itheima666)

2. 回复关键词“领取资源01”,

即可在小程序的【综合类】学科中领取全部资源

课程须知

1. 深入讲解比特币的技术细节,UTXO,锁定脚本,POW,数字签名等;2. 开发过程中同步对比BitcoinCore客户端,更加贴近实际产品;3. 开发过程循序渐进,先后使用五个版本迭代开发;4. ...

  1. 课程介绍
  2. 课程目录
  3. 课程评论

视频下载提取码: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


综合评分5.0

0人已评分

我也要评分

评论打分
你觉得老师讲的怎么样?

评论字数不能超过100字,还剩个字符

发表评价