当前位置: 首页 > news >正文

区块链学习路线

一、编程基础

1、linux/unix

    安装与命名

2、C++

    面向对象、泛型、STL,BOOST,OPENSSL

3、算法

   3.1 常用算法:排序

   3.2 基础算法思想:贪心算法、分治算法,递归、递推、

4、数据结构

    链表、队列、栈、二叉树

5、GO语言

     5.1并发编程

     5.2网络编程

6、JS

7 MySql

二 、区块链基础

1、区块链基本原理

      1.1区块链技术结构

      1.2区块链分类

2、区块链发展脉络

     2.1区块链1.0  数字货币

     2.2区块链2.0  以太坊

     2.3区块链3.0 智能社会

3、区块链的特点

    3.1去中心化

    3.2可溯源

    3.3不可篡改

    3.4公开透明

4、区块链应用场景

   4.1支付结算

   4.2数字票据

   4.3资产数字化

  4.4征信

  4.5 股权登记

  4.6证券交易

  4.7供应链金融

  4.8P2P领域

  4.9电子存证

  4.10数字版权

  4.11招投标

5、钱包

   5.1比特币钱包

      5.1.1bitcoin

      5.1.2bitPay

 5.2以太币钱包

      5.2.1Mist

      5.2.2 MyEtherWallet

     5.2.3MetaMask

      5.2.4Parity

6 GPU多显卡挖矿

      6.1硬件设备

      6.2软件工具

      6.3 参数调整

7 ICO/IPO

8 硬分叉

    8.1 比特币分叉

    8.2以太坊分叉

       8.2.1byzantium

      8.2.2Contantipole


三 区块链进阶

1、共识算法

     1.1Pow

     1.2POS

     1.3DPOS

     1.4 PBFT

2、密码学

    2.1对称加密

    2.2非对称加密

    2.3序列密码

    2.4 DES

    2.5分组密码

    2.6 公用密码

    2.7HASH

    2.8MD5

    2.9 RSA

    2.10 SHA256

    2.11RIP256

    2.12数字签名

    2.13零知识证明

3、以太坊智能合约

    3.1solidate面向对象编程

    3.2以太坊私链搭建

    3.3以太坊联盟链搭建

    3.4TOKEN建立、部署、流通

    3.5 IPFS

    3.6 TRUFFLE

    3.7 WEB 3.0

    3.8 Embark

    3.9 项目Ebay 

4HyperLedger Fabric

    4.1 Fabric架构

   4.2 Fabric多通道技术

   4.3账本设计

   4.4 Fabric1.0Endorse背书策略

   4.5Fabric Gossip源码分析

  4.6开发环境搭建

  4.7开发镜像编译

  4.8HyperLedger Composer

  4.9ChainCode

  4.10案例:Fabric explore,cp-web,marbles

  4.11GO语言智能合约开发与部署

四 区块链高级

1、源码剖析

     1.1BitCoin

         1.1.1 proof of work

         1.1.2区块高度和分叉

         1.1.3交易数据

         1.1.4 共识算法

         1.1.5分叉检测

         1.1.6交易

              1.1.6.1P2PK脚本验证

              1.1.6.2P2SH脚本

              1.1.6.3标准交易

                     1.1.6.3.1通过public key hash支付

                     1.1.6.3.2通过脚本hash(P2SH)支付

                     1.1.6.3.3多重签名

                     1.1.6.3.4公钥

                     1.1.6.3.5空数据

              1.1.6.4非标准交易

                   1.1.6.4.1签名hash

                   1.1.6.4.2锁定时间和序列号

                   1.1.6.4.3交易费用和变化

                   1.1.6.4.4避免key重用

                   1.1.6.4.5交易可塑性

            1.1.6.5挖矿

     1.1.7合约

             1.1.7.1托管与仲裁

             1.1.7.2COINJOIN

     1.1.8Wallet

          1.1.8.1钱包程序

          1.1.8.2钱包文件

    1.1.9操作模式

   1.1.10P2P网络

        1.1.10.1 节点发现

        1.1.10.2节点连接

       1.1.10.3初始区块下载

       1.1.10.4区块广播

       1.1.10.5 交易广播

       1.1.10.6 内存池

      1.1.10.7问题节点

1.2以太坊

   1.2.1以太坊源码概览

       1.2.1.1区块数据结构

       1.2.1.2交易数据结构

       1.2.1.3交易的HASH

       1.2.1.4区块链数据结构

       1.2.1.5DATABASE

       1.2.1.6创世区块

       1.2.1.7STATEdb

       1.2.18 Validator & Processor

1.2.2 基础架构

    1.2.2.1链规格格式

    1.2.2.2ICAP

    1.2.2.3URL提示协议

1.2.3EV技术

    1.2.3.1RLP编码

    1.2.3.2节点发现协议

    1.2.3.3P2P有线协议

1.2.3ETHASH

   1.2.3.1ETHASH 

  1.2.3.2ETHASH   C API

  1.2.3.3 ETHASH  DAG

1.2.4Whisper

   1.2.4.1Whisper proposer

   1.2.4.2概述

   1.2.4.3poc-1有限协议

   1.2.4.4poc-2有线协议

 1.2.5 Bitshares2.0

   1.2.5.1环境搭建

   1.2.5.2如何使用运行全节点

   1.2.5.3自建节点

   1.2.5.4Bitshares-core 编译

   1.2.5.5交易所集成对接

   1.2.5.6bitshare 服务器搭建

   1.2.5.7dpos共识算法

   1.2.5.8bitshare-ui 钱包 账号管理

   1.2.5.9 bitshare.js库详解:chainstore

   1.2.5.10bitshare.js库详解:交易广播

   1.2.5.11搭建比特股水龙头注册服务

五区块链实战

    1.矿池开发

      1.1ethernumPool GoLang

      1.2bitcoin pool C++

   1.2 Blogger chain

   1.3钱包开发

      btcwallet,ethwallet



原文发布时间为:2018年03月20日
本文作者:metal1
本文来源:CSDN,如需转载请联系原作者。

相关文章:

  • Activity事件分发机制
  • ListT常用操作函数
  • Tomcat 的连接数与线程池
  • JVM内存模型
  • windows下安装redis以及redis扩展,设置redis为windows自启服务
  • HTML中动态生成内容的事件绑定问题
  • Scala学习之路 (五)Scala的关键字Lazy
  • ListView封装实现下拉刷新和上拉加载
  • 搜狗旅行翻译宝亮相香港环球资源电子展 AI翻译成全场最大亮点
  • 43.AzureVM复制到另一个Azure区域
  • 如何在虚拟机中访问真机的虚拟域名
  • java中的hashCode
  • Hive连接?
  • 20165334 《java程序设计》第8周学习总结
  • Redis4.0 单节点集群到三主三从节点集群实验
  • ES6指北【2】—— 箭头函数
  • express + mock 让前后台并行开发
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JavaScript 奇技淫巧
  • JDK 6和JDK 7中的substring()方法
  • Koa2 之文件上传下载
  • Object.assign方法不能实现深复制
  • WebSocket使用
  • 订阅Forge Viewer所有的事件
  • 关于springcloud Gateway中的限流
  • 前端性能优化——回流与重绘
  • 如何优雅地使用 Sublime Text
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 试着探索高并发下的系统架构面貌
  • 我这样减少了26.5M Java内存!
  • 责任链模式的两种实现
  • 正则与JS中的正则
  • 终端用户监控:真实用户监控还是模拟监控?
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • ​人工智能书单(数学基础篇)
  • #{} 和 ${}区别
  • (C)一些题4
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (ZT)一个美国文科博士的YardLife
  • (八)c52学习之旅-中断实验
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (规划)24届春招和25届暑假实习路线准备规划
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (转)http协议
  • (转)shell调试方法
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .jks文件(JAVA KeyStore)
  • .Net MVC4 上传大文件,并保存表单
  • .Net 垃圾回收机制原理(二)
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况