返回列表 发新帖

Golang实战开发区块链公链项目 视频+代码

  [复制链接]

0

好友

8

主题

4

精华

注册会员

积分
104
学分
7792

腰缠万贯

发表于 2019-1-17 18:13:58 | 显示全部楼层 | 阅读模式
111.png
本套Golang区块链教程共134小节,每小节对应一个视频。用Golang语言实现简易比特币,主要实现的功能:了解区块链的结构、学会创建一个区块(Block)、学会创建区块链(BlockChain)、了解UTXO模型、工作量证明、地址生成、默克尔树、数字签名、了解为什么要进行签名和验证。

【课程介绍】
1. 区块、区块链结构
2. 工作量证明
3. BoltDB数据库存储
4. UTXO模型
5. 公钥、私钥、数字签名、椭圆曲线
6. 交易转账
8. 区块链网络
9. p2p
10. 41. JavaScript编写智能合约
11. 智能合约编译
12. 智能合约部署
13. 通过api调用智能合约

【课程收益】
1. 区块、区块链结构
2. 工作量证明
3. BoltDB数据库存储
4. UTXO模型
5. 公钥、私钥、数字签名、椭圆曲线
6. 交易转账
8. 区块链网络
9. p2p
10. 41. JavaScript编写智能合约


【课程内容】

第一章:区块链基本原型


1-1 内容介绍
1-2 Block结构
1-3 根据区块数据生成区块HASH
1-4 CreateGenesisBlock
1-5 Blockchain结构
1-6 添加新的区块

第二章:Proof-of-Work

2-1 ProofOfWork框架
2-2 工作量证明算法分析
2-3 移位处理
2-4 挖矿算法完整实现
2-5 判断区块Hash的有效性
2-6 课程目标

第三章:持久化存储及命令行工具

3-01 区块的序列化和反序列化
3-02 boltdb数据库的创建或者打开
3-03 创建表并且往表里面存储数据
3-04 boltdb-Update-View
3-05 区块序列化反序列化-boltdb
3-06 复习
3-07 课程预告
3-08 创建创世区块并且将创世区块序列化存储到数据库中
3-09 新增区块并且存储到数据库
3-10 遍历区块链
3-11 时间格式化输出
3-12通过迭代器遍历区块链
3-13 将blockchain和BlockchainIterator进行分离
3-14 flag基本使用
3-15 os
3-16 命令行解析
3-17 数据持久化完整版

第四章:UTXO模型交易

4-01 createblockchain命令
4-02 改善创建创世区块的方法
4-03 代码完善处理
4-04 Block里面设置Transaction数组
4-05 UTXO模型原理
4-06 coinbase 交易
4-07 UTXO 模型案例
4-08 转账命令行处理
4-09 JSONToArray
4-10 转账相关方法串联
4-11 交易整体框架搭建完成
4-12 UTXO 复习
4-13 构造区块交易测试数据
4-14 构造测试数据区块3
4-15 转账算法逻辑分析
4-16 UnSpentTransationsWithAdress
4-17 getbalance-cli
4-18 遍历UTXO
4-19 查找UTXO
4-20 余额查询
4-21 UTXO模型算法优化
4-22 复习
4-23 文件分离-优化
4-24 转账方法优化
4-25 转账逻辑代码实现
4-26 UnUTXOs方法优化
4-27 单笔交易转账测试
4-28 转账逻辑处理
4-29 BUG处理-转账完整版

第五章:地址

5-01 复习
5-02 公钥私钥加密简单过程
5-03 sha256
5-04 ripemd160
5-05 base58加密解密
5-06 base64对称加密
5-07 wallet
5-08 地址生成步骤
5-07 Wallet对象创建
5-08 通过公钥生成钱包地址
5-09 判断地址是否合法有效
5-10 Wallets结构
5-11 将地址集成到项目里面
5-12 addresslists
5-13 Wallet逻辑复习
5-14 将钱包信息写入到dat文件
5-15 输出所有钱包地址
5-16 TXOutput & TXInput里面增加公钥
5-17 复习

第六章

6-01 数字签名和验证接口
6-02 数字签名过程分析
6-03 签名验证
6-04: 数字签名
6-05: 通过代码实现数字签名
6-06: 数字签名验证
6-07: 课程内容介绍
6-08: 数字签名复习
6-09: 增加挖矿奖励
6-10: UTXO_set优化原理
6-11: 查找所有人的未花费输出
6-12: 测试FindUTXOMap
6-13: 处理同时给打包多笔交易时数字签名出现的bug
6-14: 遍历所有UTXO并存储到数据库
6-15: FindUTOXMap方法优化
6-16: 查找某人地址对应的所有的UTXO
6-17: 查询余额
6-18: 修改CoinbaseTransaction交易Hash导致的bug
6-19: 复习
6-20: 转账优化
6-21: 转账
6-22: 转账验证
6-23: 花费交易输出更新算法逻辑及实现
6-24:更新处理
6-25:MerkleTree
6-26:以太坊私有节点
6-27:以太坊多节点连接
6-28:以太坊联盟链搭建(上)
6-29:以太坊联盟链(下)
6-30:简易的网络服务
6-31:简易的分布式节点项目效果
6-32:NODE_ID设置
6-33:NODE_ID项目配置
6-34:区块链验证逻辑
6-35:客户端服务器使用
6-36:startnode-cli
6-37:项目集成客户端和服务器代码
6-38:节点同步数据逻辑
6-39:Version信息处理
6-40:获取节点区块链高度
6-41:处理客户端接收到的数据
6-42:handle系列方法配置
6-43:Version消息的处理
6-44:GetBlocks
6-45:GetBlockHashes
6-46:sendInv
6-47:handlInv
6-48:handlGetData
6-49:主节点 - 钱包节点 - 矿工节点交互逻辑
6-50:钱包节点和主节点数据同步过程分析
6-51:代码逻辑
6-52:getblock
6-53:sendBlock
6-54:handleBlock
6-55:AddBlock
6-56:通过一个中间变量不断迭代向主节点读取区块链
6-57:节点间数据同步完整代码逻辑
6-58:重置数据库Bug处理

【下载地址】

游客,本付费内容需要支付 70学分 才能浏览
点击查看获取学分的方法支付



已有1人评分 学分 理由
admin + 70

查看全部评分 总评分: 学分 +70 

快速回复 返回顶部 返回列表