公链开发与智能合约开发

公链开发与智能合约开发
共159节 382人在学 课程详情
  • 区块链基本常识

    • 简介
    • 第三阶段课程大纲分析
    • 区块链周边与定义详述
    • 区块链相关特点与核心技术说明
    • 区块链核心概念之一
    • 区块链核心概念之二
    • 区块链核心概念之三
    • 区块链核心概念之四
    • 区块链分类
    • 区块链架构特点
    • 比特币架构之钱包说明
    • 比特币架构说明之节点后台
    • 区块校验(1)
    • 区块校验(2)
    • 以太坊基础知识了解
    • EOS简述
    • Fabric简述
  • 公链初级实战

    • day01复习
    • golang公链实战分析
    • 公链实战之区块实战(1)
    • 公链实战之区块实战(2)
    • 公链实战之POW分析实现(1)
    • 公链实战之POW分析实现(2)
    • 公链实战之bug解决
    • boltdb简介
    • 公链实战之持久化(1)
    • 公链实战之持久化(2)
    • 公链实战之持久化(3)
    • 公链实战之bug调试
    • 公链实战之实现区块链遍历输出
    • 公链实战之迭代器实现
  • 公链交易转账

    • golang后端开发工程师基础技能树
    • day02复习
    • 命令行回顾
    • 公链实战之命令行(1)
    • 公链实战之命令行(2)
    • 公链实战之命令行(3)
    • 公链实战之区块链对象获取
    • 比特币交易原理详述(1)
    • 比特币交易原理详述(2)
    • 公链实战之交易结构替换
    • 交易输入输出实现
    • UTXO查询原理说明
    • coinbase交易实现
    • cli实现命令行转账(封装)
    • 实现JSON转字符串切片功能
    • 实现挖矿功能(1)
    • 实现普通转账交易
  • 公链交易编码

    • day03复习
    • 查询余额外壳封装
    • UTXO查找外壳封装
    • UTXO查找实现主体逻辑分析
    • 查找指定地址已花费输出功能实现
    • 查找指定地址UTXO实现
    • 查询余额函数内部实现与测试
    • UTXO专有结构封装
    • 命令行操作功能文件分离
    • 通过查询UTXO转账实现
    • 多笔交易分析
    • 多笔交易缓存遍历判断实现
    • 多笔交易调用实现
    • 多笔交易bug调试
    • sha256与ripemd160回顾
    • base64编码原理说明与代码展示
    • base58简述
    • base58编码功能实现
  • 公链签名验证

    • day04复习
    • base58解码实现
    • 比特币地址生成详述与钱包实现分析
    • 钱包结构基本属性与方法实现
    • 通过钱包生成地址以及地址有效性校验
    • 实现钱包集合
    • 实现钱包数据持久化
    • 实现命令行钱包与账号管理(2)
    • 输入输出结构验证方法修改
    • 钱包结构与输入输出功能结构(续)
    • ecdsa回顾与签名过程分析
    • 交易签名理论分析
    • 交易签名伪码实现
    • 交易签名实现(1)
    • 交易签名实现(2)
    • 签名验证伪码分析
  • 公链底层数据持久化

    • day05复习
    • 交易签名验证实现(1)
    • 交易签名验证实现(2)
    • 签名验证bug修改与挖矿奖励实现
    • utxo查找优化分析
    • utxo table重置分析与实现(1)
    • utxo table重置分析与实现(2)
    • utxo 余额查找实现(1)
    • utxo余额查找实现(2)
    • utxo手动重置bug调试与修正
    • utxo table实时更新
    • Merkle树分析与节点实现
    • Merkle树实现与关联
  • 公链数据同步

    • day06复习
    • 区块数据同步原理分析
    • 节点ID命令行设置
    • 节点ID获取与相关代码修改
    • 节点服务启动管理
    • 请求发送与处理分析
    • 数据同步各类命令分析
    • 请求发送与请求处理实现(1)
    • 请求发送实现
    • 版本验证请求实现
    • 数据同步请求处理实现
    • 数据同步测试与项目总结
  • 以太坊与智能合约

    • 以太坊转账操作
    • 10 以太坊交易与区块相关操作
    • solidity开发语言简介
    • solidity IDE说明
    • solc 说明
    • truffle testrpc ganache说明
    • 项目复习
    • 以太坊基本特点
    • 以太坊基础概念说明
    • 以太坊核心概念说明
    • 以太坊开发环境搭建说明
    • 以太坊私链搭建
    • 以太坊相关参数说明
    • 以太坊基本操作(1)
  • solidity基础语法

    • day08复习
    • solidity基础语法与注释说明
    • solidity值类型与引用类型
    • solidity整形说明
    • solidity 地址类型说明(1)
    • solidity地址类型说明(2)
    • solidity 定长字节数组说明(1)
    • solidity 定长字节数组说明(2)
    • solidity 智能推断与十六进制字面量说明
    • 货币单位与时间单位说明
    • solidity 枚举说明
    • solidity结构体说明
    • solidity 一维数组说明
    • solidity二维数组说明
    • mapping基础说明
    • 类型转换说明
    • 控制语句说明
  • solidity高级语法

    • day09复习
    • solidity全局单位说明
    • solidity函数定义类型说明
    • 函数可见性说明
    • 特殊函数之fallback函数说明
    • 特殊函数之自毁函数说明
    • 特殊函数之常函数与访问器说明
    • 特殊函数之加密函数说明
    • 函数修改器说明
    • solidity面向对象理论说明与继承
    • solidity继承说明
    • solidity抽象与接口说明
    • solidity library说明与实例
    • solidity 库using for说明
    • solidity import说明
    • solidity数据位置说明(1)
    • solidity数据位置说明(2)
    • solidity事件简述
    • solidity异常处理说明
  • 智能合约挖矿高级

    • day10复习
    • mapping遍历功能实现准备
    • mapping遍历功能之结构分析与插入实现
    • mapping 遍历功能完整实现
    • mapping 遍历库调用测试
    • solc手动编译合约(1)
    • abi字段解释
    • 加载js文件与启动私链挖矿
    • 手动部署合约与交互
    • 通过simpleBank了解payable用法

    订阅失败

    公链开发与智能合约开发
    公链开发与智能合约开发 ...

    订阅列表已满,请先移出部分订阅内容。

    当前章节需购买后观看
    开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!
    提交答案

    购买课程

    扫码完成付费,可继续学习全部课程内容

    加载中...
    播放页问题反馈
    视频学习中有任何产品建议都可由此反
    馈,我们将及时处理!

    课时介绍

    公链实战之bug解决

    课程介绍

    根据区块链网络中心化程度的不同,分化出3种不同应用场景下的区块链:

    (1)全网公开,无用户授权机制的区块链,称为公有链;

    (2)允许授权的节点加入网络,可根据权限查看信息,往往被用于机构间的区块链,称为联盟链或行业链;

    (3)所有网络中的节点都掌握在一家机构手中,称为私有链。

    联盟链和私有链也统称为许可链,公有链称为非许可链。 

     

    公有区块链系统

     

    公有链中,任何节点无须任何许可便可随时加入或脱离网络。从最早的比特币系统人手介绍公有链系统的发展现状。

     

    点对点电子现金系统:比特币

    与传统分布式系统的C/S , B/S或三层架构不同,比特币系统基于P2P网络,所有节点对等,且都运行同样的节点程序。

    节点程序总体上分为两部分:一部分是前台程序,包括钱包或图形化界面;另一部分是后台程序,包括挖矿、区块链管理、脚本引擎及网络管理等。

    区块链管理:涉及初始区块链下载、连接区块、断开区块、校验区块和保存区块,以及发现最长链条的顶区块。

    内存池管理:即交易池管理。节点将通过验证的交易放在一个交易池中,并准备好将其放入下一步挖到的区块中。

    邻接点管理:当一个新比特币节点初始启动时,它需要发现网络中的其他节点,并与至少一个节点连接。

    共识管理:比特币中的共识管理包括挖矿、区块验证和交易验证规则。比特币采用PoW共识机制,依赖机器进行哈希运算来获取记账权,同时每次达成共识需要全网共同参与运算,允许全网50%节点出错。

    密码模块:比特币采用RIMEMD和SHA-256算法及Base-58编码生成比特币地址。

    签名模块:比特币采用椭圆曲线secp256k1及数字签名算法ECDSA来实现数字签名并生成公钥。

    脚本引擎:比特币的脚本语言是一种基于堆栈的编程脚本,共有256个指令,是非图灵完备的运算平台,没有能力计算任意带复杂功能的任务。

    本课程从零到一带领你实践一个小型公链。

     

    智能合约,Smart Contract,是一种旨在以信息化方式传播、验证或执行合同的计算机协议。

     

    区块链领域的智能合约有以下特点:

    规则公开透明,合约内的规则以及数据对外部可见;

    所有交易公开可见,不会存在任何虚假或者隐藏的交易。

     

    所以我们常说区块链技术具有“公开透明”“不可篡改”的特点,这些其实都是智能合约赋予区块链的。

     

    程序员的世界里一致有个认知:相较于程序和机器,人更加不可控。人会作恶,但是代码并不会主观主动作恶。

     

    而传统的契约行为,都是由人来制定规则,由人去执行。当然,遇到边界问题或者异常,也是由人去做界定。

     

    但有了智能合约之后,这些就变得不一样了。

     

    开发者通过智能合约去制定一套规则,然后发布到线上,人与智能合约进行交互,由机器去完成业务的部分,这样就规避了由人来做执行时可能造成的作弊行为。

     

    静态类型的编程语言——Solidity,是以太坊的智能合约实现的编程语言,运行在以太坊的虚拟机 Ethereum Virtual Machine(EVM)上。

     

    借由 Solidity,开发人员能够编写出可自我执行的应用程序,该程式可被视为一份具权威性且永不可悔改的交易合约,对已具备程式编辑能力的人而言,编写 Solidity 的难易度就如同编写一般的编程语言。

     

    关于智能合约的应用,大名鼎鼎的 ICO 就是其中之一。

    除了 ICO 之外,与物联网结合赋能智能家居、投票等等,都是智能合约的应用场景。换言之,能够用机器去实现既定的规则、提高效率,且能够规避人类的作弊行为的场景,基本都是智能合约的应用场景。

    推荐课程

    信息系统项目管理师自考笔记

    李明 · 915人在学

    python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据

    王先生 · 22811人在学

    手把手搭建Java超市管理系统【附源码】(毕设)

    汤小洋 · 4294人在学

    Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教

    黄菊华 · 838人在学

    基于SSM酒店管理系统(毕设)

    小尼老师 · 899人在学

    java项目实战之购物商城(java毕业设计)

    Long · 5203人在学

    手把手搭建Java求职招聘系统【附源码】(毕设)

    汤小洋 · 1532人在学

    Python Django 深度学习 小程序

    钟翔 · 2408人在学

    城管局门前三包管理系统+微信小程序(vue+springboot)

    赖国荣 · 681人在学

    Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序

    李杰 · 4076人在学

    正在试验
    后自动删除环境
    课程实验
    本次实验时间已到期 00:00:00
    课件正在飞速打包中,请耐心等待几秒钟~