精华内容
下载资源
问答
  • 区块链原理详解 _BILLING 北京联合信息技术股份有限公司 2017.01 1 3/16/2020 目录 区块链简介 1 特征及分类 2 区块链网络 3 数据结构 4 核心问题 5 前景展望 6 2 3/16/2020 1. 区块链简介 区块链技术是构建比特币...
  • 主要介绍了200行代码实现blockchain 区块链的相关知识,非常不错,具有参考借鉴价值,需要的朋友参考下吧
  • * * * * * * * * * * * * 区块链Blockchain是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案 1-区块链的定义和来源 概念首次出现比特币一种点对点的电子现金系统 ----Satoshi Nakamoto 1-区块链的...
  • 主要介绍了python简单区块链模拟详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 区块篝原理详解=B9 北京联合信息技术股份有限公司 201701 区块链简介 特征及分类 区块链网络 目录 数据结构 核心问题 6>前景展望 1区块链简介 背景 传统支付系统 互联网上的贸易,几乎都需要借助可资信赖的第三 方...
  • 区块链技术详解

    2020-09-09 17:16:20
    智能合约:公开代码的程序,大家按照某个公开的智能合约规则做事,不用担心暗箱操作,就像一份合同 特性: 多节点监管: 区块链本质上是一个分布式的数据库,由多个参与者维护并监管该数据库,由于共识算法的保护...

    目录:

    • 什么是区块链
    • 区块链特性
    • 比特币的性能低下和能源浪费
    • 一些基础概念
    • 从信息上链流程来了解区块链
    • 交易上链改变了什么
    • 由链式结构和共识算法支撑的不可篡改性
    • 链上应该存些什么?

    什么是区块链

    总的来说就是一个多方合作管理的数据库,互相监管

    1. 让很多人一起监管的数据库,保证历史数据不会被某个机构篡改,链上的每一个动作都被记录下来
    2. 密码学保护:别人无法伪造你的信息,盗号难度极大,保证数据的真实性
    3. 信息公开:所有信息公开透明,如果有隐私数据,可使用哈希算法或密码学加密后上链,需要时获取密文并解密即可,或直接提供明文证明真实性
    4. 智能合约:公开代码的程序,大家按照某个公开的智能合约规则做事,不用担心暗箱操作,就像一份合同

    区块链特性:

    1. 多节点监管: 区块链本质上是一个分布式的数据库,由多个参与者维护并监管该数据库,由于共识算法的保护,除非全网大部分参与者达成协议,否则不可能对区块链的历史数据进行更改,让该数据库不被某个公司或机构完全控制,实现去中心化,减小被攻击的风险。监管者的数量越多分布越广,区块链就越安全,不过因为不可能三角问题,一些区块链平台为了性能,牺牲了部分去中心化。
    2. 信息不可伪造: 因为密码学的原因,区块链还可以保证数据的不可伪造性、账号安全和身份认证(想伪造我的信息必须拿到我的私钥(私钥:可用于加密信息或数字签名,破解难度极大))。
    3. 信息公开: 因为所有参与者都保存有一份数据,公链中的信息是公开透明的,联盟链中的信息对联盟内部公开,公开的部分包括:交易信息,账户状态,合约代码,合约变量,当然你有隐私数据不想公开也可以使用密码学的工具将信息加密之后放到链上,需要使用时再解密读数据,别人拿到数据可以在链上验证(用信息上链人的公钥对数据加密得到密文再和链上数据对比,验证这个数据是否在链上)。合约代码公开这一点很有趣,可以在这方面发挥一下想象力。
    4. 智能合约: 在比特币之后,出现了以太坊,以太坊在区块链上增加了虚拟机,使得用户可以在区块链上部署程序,并与之交互。而以上三点说明了为什么需要在区块链上运行程序

    比特币的性能低下和能源浪费:

    • 多数人对区块链最初始的认知是比特币,而比特币的性能低下和能源浪费给人们留下了不好的影响,觉得区块链都是这样一个鸡肋的东西。其实比特币的性能低下和能源浪费主要是因为她所使用的共识算法POW——工作量证明算法,该算法使用了一种计算竞赛的模式来维护比特币网络,使全网保持数据的一致性。
      而在比特币之后的区块链项目中出现了很多pow算法的替代方案,例:pos,PBFT,Dpos,tendermint,hotstuff等,这些新的共识算法解决了比特币性能低下和能源浪费的问题,使得区块链能在各个领域投入使用

    一些基础概念:

    • 交易: 交易是用户与区块链进行交互的唯一途径,合约创建的代码和合约调用都是通过交易实现

    • 节点: 每启动一个区块链客户端即开启一个节点,一台机器上可以同时部署多个节点

    • 密钥对: 分为私钥和公钥,公私钥都可以用于加密,公钥的加密只有对应私钥能解开,私钥的加密只有对应公钥能解。一般对外公布公钥,使用私钥对将要发出的交易签名,验证者们使用已公布的公钥来验证签名的合法性。

    • 密钥对的生成: 随机生成一个32字节的字符串的私钥即为一个账号,通过椭圆曲线算法ECDSA-secp256k1 可将私钥映射成公钥,公钥通过keccak-256散列函数得出256 bit固定长度值,取后20个字节即160 bit 即为账号。只要拥有私钥,就等于拥有了这个账户,可以把账户里的钱转走,所以私钥对于区块链来说是非常重要的。

    从信息上链流程来了解区块链:

    1. 账户创建: 用户可以在本地或者通过某个可信的钱包软件生成账户,其中包括地址、私钥、公钥、助记词、keystore文件,其中私钥和助记词是最敏感的,拿到其中一项就可以使用该账户。而keystore文件是为了方便使用,将私钥、公钥、地址用一串密码加密保存在本地的文件,需要时再使用密码解锁,你可以创建多个keystore,只要记住对应密码就行,但私钥和助记词是唯一的,重要的事情一直说。

    2. 创建交易: 最原始的方法当然是直接控制台打命令发交易,将需要填写的信息写入并签名即可,例如接收方,转账金额,gaslimit等。普通用户发送交易肯定不会去控制台噼里啪啦,这时候使用到了web3,在写应用时使用web3来调用区块链接口实现交易发送等功能,当然合约的调用和创建也能通过web3实现。

    3. 交易广播: 将签名后的交易发送后,交易会存在节点的交易池中,检查无误后广播到区块链网络中

    4. 矿工打包: 当前矿工收到交易后会对交易进行检查、处理,并将多个交易和其处理结果打包到一个区块里,然后将打包好的区块广播(广播对象由共识算法决定,因为有些共识不需要全网参与,普通节点只需要拉取已经达成共识的区块就行了)

    5. 共识验证: 区块被挖出之后还需要经过其他验证者的验证并达成共识后才能真正上链。共识算法种类繁多,每条链的共识规则也会有不同,不过最终目的都只有一个,让整个网络最后确定的数据是完全一致的,这样就达到了之前说的多节点共同监管维护一个数据库的目的。

    交易上链改变了什么:

    • 交易本身永久存储,想删也删不掉,这是区块链的历史不可篡改性
    • 区块链中有个概念叫世界状态,它记录了所有用户和合约的状态,例如账户余额、合约代码、合约内的变量。当一个区块被共识最终确定并上链,该区块所修改并记录的世界状态就是最新的世界状态,下一个区块的生产必须基于最新世界状态做修改。(注意:这两点并不冲突,区块链的不可篡改是历史交易不可篡改,世界状态可变,用户在链上所做的行为不可篡改。例如:一个装有监视器的房间里有一堆苹果,某人进来拿走了一个,这时苹果总数变化了,但是苹果被这个人拿走的行为被摄像机记录下来了)

    有链式结构和共识算法支撑的不可篡改性:

    • 区块链中,区块之间使用链式结构链接在一起,这加大了本地修改数据的难度,也方便验证区块的合法性和每个节点间链的一致性。每个区块都会存储上一个区块的hash值,就是说有人修改了其中某一个区块,那必须将该区块之后的所有区块都改了才行,否则hash对不上。不可篡改性除了链式结构还有共识算法的支持,就算将本地所有的区块都修改了,但整个区块链网络是通过共识算法来确定数据一致性的,和大多数人的不一样的节点数据可以判定是错的,不会同步该数据。除非将网络中大多数节点的数据全改了,否则想要修改历史数据是不可能的。

    链上应该存些什么?

    • 如上述信息上链流程所说,信息的上链需要经过一条略繁琐的流程,比较耗时耗存储空间的操作放到链上执行是非常不划算的,所以上链之前应该先理清思路,业务中有哪些是需要放上链的,哪些在链下处理也行,尽量保证上链逻辑安全简单,上链数据精致有效。具体可以了解一下fisco官方的 一文说清“链上”和“链下”
    展开全文
  • 区块链开发详解

    2020-05-19 11:23:35
    开发业务层区块链应用 Hyperledger fabric目前支持java,nodejs,go和python语言的sdk,供用户选择用不同的语言开发上层应用,使用相应的sdk调用部署在区块链上的链码。以下示例中我们选择使用go语言开发业务层应用...

    开发业务层区块链应用
    Hyperledger fabric目前支持java,nodejs,go和python语言的sdk,供用户选择用不同的语言开发上层应用,使用相应的sdk调用部署在区块链上的链码。以下示例中我们选择使用go语言开发业务层应用。
    步骤1:配置fabric sdk
    Hyperledger fabric官方提供了我们需要的go sdk文件包。目前BCS服务使用的版本commit号是035e4f9。
    我们需要为fabric sdk生成相应的配置文件和访问区块链节点的组织证书。SDK配置文件主要包括要访问的链码名称/版本、证书解压的目录位置、实例化链码的通道,安装链码的节点组织/名称。在订购的区块链服务状态中的点击中的“下载SDK配置“会弹出配置窗口,完成sdk配置。
    在这里插入图片描述
    SDK配置文件下载界面
    在这里插入图片描述
    配置SDK文件下载界面
    在订购的区块链服务状态列表页面上可以查看每个节点的状态以及相应的证书下载功能,我们需要下载相关的证书到sdk的配置文件所指定目录中,使得业务应用可以和区块链节点正常的进行通讯。显示了orderer节点和peer节点的证书下载链接。
    在这里插入图片描述
    orderer节点和peer节点的证书下载
    步骤2:编写业务应用代码
    合理配置sdk与区块链节点peer的通信后,业务层应用代码仅需对接链码的invoke和query的方法。以下示例中我们使用sdk提供的接口ChannelClient,即先通过加载sdk配置文件生成一个sdk实例,然后传入通道名称和用户信息生成一个ChannelClient对象,最后使用该ChannelClient发起一笔执行链码的交易。
    在这里插入图片描述
    在业务应用代码中定义好一个链码的数据结构ChainCodeSpec,包括ChannelClient对象、 用户信息和链码名称等,在ChannelClient初始化时给其赋值。将链码的invoke和query方法定义成结构体方法,可以很简单的在发起交易的时候完成数据传递
    在这里插入图片描述
    步骤3:测试业务应用代码
    下面我们简单的定义一个main方法来测试一下我们的代码。首先声明之前在链码管理网站实例化的链码信息,即链码名称chaicodetest,实例化的通道名称testchannel,用户使用的是组织内的普通用户。其次,定义两个测试方法创建测试用例和查询测试用例。
    创建测试用例create_testcases需要按顺序传入4个参数即项目名称、模块名称、测试用例名称和测试用例描述,调用invoke方法将一次交易写入区块链。查询测试用例query_testcases方法传入项目名称和模块名称,查询测试用例信息。
    在这里插入图片描述
    之后我们使用go run来执行这个测试用例,我们可以看到已经生成testchannel实例并与区块链节点建立连接。为了确认交易是否正常,链码是否正确保存之前用例的复合键值索引,我们登陆区块链节点并用“docker logs <容器id>”命令我们可以看到为每笔交易创建的区块。链码容器也可检查我们之前链码打印的日志来确定是否可以正确查询测试用例。

    查看区块链节点peer中的运行结果
    在这里插入图片描述
    链码运行结果
    本文通过一个简单的例子介绍xyx520928如何通过华为云提供的区块链服务快速的开发和搭建起一个应用,用户可以根据所需的场景,基于本文的示例部署区块链服务,开发链码和业务层应用。

    展开全文
  • tendermint区块链开发详解

    千次阅读 2018-11-05 10:06:37
    与其他区块链平台例如以太坊或者EOS相比,tendermint最大的特点是其差异化的定位: 尽管包含了区块链的完整实现,但它却是以SDK的形式将这些核心功能提供出来,供开发者 方便地定制自己的专有区块链: tendermint...

    简介

    tendermint是一个开源的完整的区块链实现,可以用于公链或联盟链,其官方定位 是面向开发者的区块链共识引擎:

    tendermint
    与其他区块链平台例如以太坊或者EOS相比,tendermint最大的特点是其差异化的定位: 尽管包含了区块链的完整实现,但它却是以SDK的形式将这些核心功能提供出来,供开发者 方便地定制自己的专有区块链:

    汇智网 tendermint

    tendermint的SDK中包含了构造一个区块链节点旳绝大部分组件,例如加密算法、共识算法、 区块链存储、RPC接口、P2P通信等等,开发人员只需要根据其应用开发接口 (Application Blockchain Communication Interface)的要求实现自己 的应用即可。

    ABCI是开发语言无关的,开发人员可以使用自己喜欢的任何语言来开发基于tendermint的 专用区块链。不过由于tendermint本身是采用go语言开发的,因此用go开发ABCI应用的一个额外好处 就是,你可以把tendermint完整的嵌入自己的应用,干净利落地交付一个单一的可执行文件。

    tendermint的共识算法

    在技术方面,tendermint引以为傲的是其共识算法 —— 世界上第一个可以应用于公链的拜占庭 容错算法。tendermint曾于2016年国际区块链周获得最具创新奖,并在Hyperledger的雨燕(Burrow) 等诸多产品中被采纳为共识引擎。你可以点击 这里 查看其应用案例。

    tendermint采用的共识机制属于一种权益证明( Proof Of Stake)算法,一组验证人 (Validator)代替了矿工(Miner)的角色,依据抵押的权益比例轮流出块:

    vaildator

    由于避免了POW机制,tendermint可以实现很高的交易吞吐量。根据官方的说法,在 合理(理想)的应用数据结构支持下,可以达到42000交易/秒,引文参考 这里。 不过在现实环境中,部署在全球的100个节点进行共识沟通,实际可以达到1000交易/秒。

    tendermint同时是拜占庭容错的(Byzantine Fault Tolerance),因此对于3f+1个 验证节点组成的区块链,即使有f个节点出现拜占庭错误,也可以保证全局正确共识的达成。同时 在极端环境下,tendermint在交易安全与停机风险之间选择了安全,因此当超过f个验证节点发生 故障时,系统将停止工作。

    什么是拜占庭错误?简单的说就是任何错误:既包括节点宕机、也包括恶意节点的欺骗和攻击。

    tendermint共识机制的另一个特点就是其共识的最终确定性:一旦共识达成就是真的达成, 而不是像比特币或以太坊的共识是一种概率性质的确定性,还有可能在将来某个时刻失效。 因此在tendermint中不会出现区块链分叉的情况。

    课程地址:
    http://xc.hubwiz.com/course/5bdec63ac02e6b6a59171df3?affid=1105csdn

    tendermint vs. 以太坊

    tendermint的定位决定了在最终交付的节点软件分层中,应用程序占有相当部分的分量。 让我们通过与以太坊的对比来更好地理解这一点:

    tendermint vs. ethereum

    在上图中,tendermint结构中的abci应用和以太坊结构中的智能合约,都是由用户代码实现的。 显然,ABCI应用大致与EVM+合约的组合相匹配。

    在以太坊中,节点是一个整体,开发者提供的智能合约则运行在受限的虚拟机环境中;而在 tendermint中,并不存在虚拟机这一层,应用程序是一个标准的操作系统进程,不受任何 的限制与约束 —— 听起来这很危险,但当你考虑下使用tendermint的目的是构建专有的区块链 时,这种灵活性反而更有优势了。

    事实上,tendermint留下的应用层空间如此之大,以至于你完全可以在ABCI应用中实现一个 EVM,然后提供solidity合约开发能力,这就是超级账本的 Burrow 做的事情。

    课程地址:
    http://xc.hubwiz.com/course/5bdec63ac02e6b6a59171df3?affid=1105csdn

    课程概述

    本课程适合希望开发自己的专有区块链的go语言工程师,课程内容如下:

    第一章 课程简介

    简单介绍tendermint的定位、特点以及对于开发者而言tendermint与以太坊的区别。

    第二章 初识tendermint

    tendermint本身是一个完整的区块链实现,本章介绍tendermint的主要组成部分,包括 节点软件的使用、最小ABCI应用编写以及RPC API开发接口。

    第三章 应用开发模型

    tendermint是一个标准的状态机复制模型的实现,因此基于tendermint的应用就是一个 标准的分布式状态机。本章通过一个分布式计数器的开发来学习基于ABCI接口的应用开发。

    第四章 去中心化身份识别机制

    本章介绍如何基于非对称加密技术实现去中心化的身份识别。课程的内容包括非对称密钥 的生成、身份验证原理与实现、哈希地址计算等。

    第五章 案例:代币发行

    代币是区块链的一种典型应用。在这一章里我们通过发行代币来进一步深入学习基于tendermint 的状态机应用的设计与实现。

    第六章 代币案例:使用默克尔树

    merkle树是区块链中经常使用的一种数据结构,在这一章我们将学习其原理、用途与使用方法, 并使用它增强代币案例的功能。

    第七章 代币案例:使用多版本状态库

    在区块链的每个高度都对应着应用状态的特定历史快照。本章介绍如何使用tendermint的 多版本状态库iavl来实现应用状态的管理。

    第八章 多节点组网

    本章介绍如何进行多个tendermint节点/应用旳组网。

    课程地址:tendermint区块链开发详解

    展开全文
  • Hyperledger Fabric java 区块链开发详解

    千次阅读 2019-03-28 10:48:23
    我们为希望尽快学习Hyperroger fabric 的java工程师上线了一门教程Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、频道配置与启动、链码通信接口等核心...

    我们为希望尽快学习Hyperledger fabric 的java工程师上线了一门教程Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、频道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。

    Hyperledger是一个旨在推动区块链跨行业应用的开源项目,由Linux基金会在2015年12月主导发起该项目,成员包括金融、银行、物联网、供应链、制造和科技等多个行业的领头羊,托管了众多面向企业的区块链开源框架和工具。

    Hyperledger及Fabric项目概述

    Hyperledger Fabric(后文简称Fabric)是其中发展最好的一个企业级区块链平台,最初由Digital Asset和IBM贡献,目前已经应用于沃尔玛的食物溯源链(Foodtrust)和马士基的物流跟踪链(TradeLens)中,代表了当下企业级区块链应用的最高水平。可以认为Fabric是一种联盟链(Consortium Blockchain)平台,它适合构建跨越多个企业边界的去中心化应用。

    由于Fabric项目的目标是应用于相对可信的企业联盟环境,因此其设计思路与比特币、以太坊等公链平台有明显的差异。Fabric借鉴了区块链的数据结构,但引入了相当多的身份验证与权限控制机制,以及数据隐私保护机制,以适应企业级应用的要求。同时由于企业联盟环境要比完全开放的公链环境可控,因此Fabric没有强调其共识体系对拜占庭容错的实现,允许使用 非拜占庭容错算法建立共识,从而可以达到相当实用的交易吞吐量。

    Fabric的定位与特点

    毫无疑问,Fabric是受到比特币的启发而诞生的,因此它借鉴了比特币、以太坊这些公链中的一些核心特性,例如采用不可篡改的区块链结构来保存数据、采用非对称加密技术来进行身份识别 与认证、支持智能合约等等。

    但是Fabric定位于企业级的分布式账本技术(DLT - Distributed Ledger Technology)平台,它的主要目的是为跨越多个企业边界的活动提供不可篡改的分布式记账平台。例如在食物溯源应用中,为了让消费者可以了解到所购买食物是否安全,就必须将从农场到加工商、分销商、 零售商乃至监管机构等各个环节的检验与放行信息记录到区块链上,以保证溯源信息的透明与可信。

    因此Fabric是一种联盟链(Consortium Blockchain),它适合在多个企业间实现分布式记账,这一定位使Fabric的实现与以太坊这样的公链有了明显的差异:

    分布式账本 vs. 区块链

    分布式账本是比区块链更加宽泛的概念,可以认为区块链只是分布式账本的一种实现技术,其他的分布式账本实现还包括哈希图等。

    去中心化 vs. 分布式

    Fabric淡化了去中心化(Decentralized),而以分布式(Distributed)代替,这一思路带来了系统设计与实现上的巨大影响。例如,在Fabric中,采用中心化的CA机制来发放证书,只有持有有效证书的节点和用户才可以访问区块链上的账本数据。因此Fabric是许可制/Permissioned的区块链,这与不需要许可/Permissionless的以太坊这样的公链形成了鲜明的对比。

    拜占庭容错 vs. 崩溃容错

    由于采用许可机制,Fabric也淡化了对不可信(Trustless)环境下共识达成的依赖性,而假设联盟链中的企业有可能是值得信赖的,因此并不依赖于工作量证明这样的拜占庭容错算法,虽然Fabric模块化的设计可以支持引入不同的共识算法实现,但目前的产品化方案是Kafka共识,它显然是不能对抗拜占庭错误的,不过对不可信环境支持的淡化处理有利于提高交易的吞吐量,这对于企 业级应用也是有益的。

    数据隐私保护

    在另一方面,Fabric强化了隐私保护能力。例如,Fabric支持在同一套企业网络上建立多个不同的通道/Channel,每一个通道都有自己的区块链和访问控制,彼此互不影响,这有利于复用基础设施,例如不同企业间的销售部门可以建立一个通道来分享市场数据,而这些企业间的 研发部门可以建立另一个通道来分享技术数据。

    Fabric并不是唯一的联盟链解决方案,但目前可以说是最复杂的企业联盟链实现,这种复杂性源于设计者对应用场景的假设和推演,以及对Fabric广泛适用性的考量,这是我们在学习过程中需要换位思考的一点。

    课程内容概述

    本课程适合nodejs开发人员快速掌握超级账本Fabric区块链的设计思路、 核心概念、网络搭建、链码及应用开发等知识点,课程主要内容简述如下:

    第一章、课程概述

    简介Fabric项目来源、定位特点、适用场景以及其与公链平台的重要区别。

    第二章、初识Fabric

    创建一个最小CA,搭建一个最小Farbic网络,开发一个最小Fabric链码,实现一个最小Fabric应用,从零开始学习并掌握Farbic中的核心概念、设计思路、实用工具与开发模型。

    第三章、身份与权限管理机制

    深入学习Fabric中的身份验证机制与权限管理机制,理解证书、成员服务提供器、 策略、访问控制清单等核心概念并掌握其创建、部署和使用方法。

    第四章、通道配置与更新

    深入学习Fabric的通道配置初始化与更新流程、相关数据结构以及配置工具的操作方法。

    第五章、链码应用开发进阶

    学习理解链码运行机制、掌握状态历史跟踪、富查询、通道事件监听等链码与应用 开发进阶知识。

    课程详细目录:

    1.课程概述

    • 1.1 Hyperledger及Fabric项目概述
    • 1.2 Fabric的定位与特点
    • 1.3 课程内容概述

    2.初识Fabric

    • 2.1 Fabric架构概述
    • 2.2 身份标识与验证机制
    • 2.3 使用OpenSSL构建小型CA
    • 2.4 MSP:成员服务提供器
    • 2.5 启动最小Fabric网络
    • 2.6 通道初始化与节点加入
    • 2.7 开发计数器链码
    • 2.8 链码方法的路由
    • 2.9 链码的安装与激活
    • 2.10 在应用中访问链码
    • 2.11 User接口实现类
    • 2.12 通道访问参数设置
    • 2.13 链码查询
    • 2.14 链码交易
    • 2.15 使用WIZ开发工具箱

    3.身份与权限管理机制

    • 3.1 非对称密码学
    • 3.2 PKI体系与MSP机制
    • 3.3 使用cryptogen配置本地MSP
    • 3.4 从个体身份到安全主体
    • 3.5 通道MSP配置
    • 3.6 通道资源访问策略
    • 3.7 策略的DSL描述语言
    • 3.8 通道访问控制清单
    • 3.9 通道链码背书策略

    4.通道配置与更新

    • 4.1 系统通道的启动与配置块获取
    • 4.2 标准通道的启动与配置块获取
    • 4.3 深入通道配置区块
    • 4.4 通道配置更新交易
    • 4.5 通道配置更新流水线

    5.链码与应用开发进阶

    • 5.1 链码运行机制概述
    • 5.2 跟踪状态变迁历史
    • 5.3 使用复合键
    • 5.4 使用CouchDB状态库
    • 5.5 监听通道事件
    • 5.6 使用连接配置文件

    Hyperledger Fabric java 区块链开发详解课程地址:http://xc.hubwiz.com/course/5c9b89f54898e59b7b63430a

    ======================================================================

    分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:

    • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
    • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
    • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
    • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
    • 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
    • ERC721以太坊通证实战,课程以一个数字艺术品创作与分享DApp的实战开发为主线,深入讲解以太坊非同质化通证的概念、标准与开发方案。内容包含ERC-721标准的自主实现,讲解OpenZeppelin合约代码库二次开发,实战项目采用Truffle,IPFS,实现了通证以及去中心化的通证交易所。
    • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
    • EOS教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
    • 深入浅出玩转EOS钱包开发,本课程以手机EOS钱包的完整开发过程为主线,深入学习EOS区块链应用开发,课程内容即涵盖账户、计算资源、智能合约、动作与交易等EOS区块链的核心概念,同时也讲解如何使用eosjs和eosjs-ecc开发包访问EOS区块链,以及如何在React前端应用中集成对EOS区块链的支持。课程内容深入浅出,非常适合前端工程师深入学习EOS区块链应用开发。
    • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
    • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
    • c#比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在C#代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是C#工程师不可多得的比特币开发学习课程。
    • tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。
    展开全文
  • 与其他区块链平台例如以太坊或者EOS相比,tendermint最大的特点是其差异化的定位: 尽管包含了区块链的完整实现,但它却是以SDK的形式将这些核心功能提供出来,供开发者 方便地定制自己的专有区块链: tendermint的...
  • /* This creates a public tradeable fungible token in the Ethereum Blockchain. https://github.com/ethereum/wiki/wiki/Standardized_Contract_APIs ...最新代码可以forkgithub的以下标准合约APIs地址。 ...
  • 比特股发布于 2014 年,虽然没有引入智能合约的概念,但它提供了功能极为丰富的金融类工具,比特股上所有的金融合约都是事先在代码里写好的,所以说它的本身就是一个超级智能合约集合。 什么是比特股 比特股是一个...
  • Hyperledger Fabric Nodejs 区块链开发详解

    千次阅读 2019-03-29 11:25:00
    Hyperledger是一个旨在推动区块链跨行业应用的开源项目,由Linux基金会在2015年12月主导发起该项目,成员包括金融、银行、物联网、供应链、制造和科技等多个行业的领头羊,托管了众多面向企业的区块链开源框架和工具...
  • 什么是区块链区块链详解

    千次阅读 多人点赞 2018-06-07 10:37:36
    区块链简介什么是区块链?目前没有看到很好的定义和介绍,网上要么是讲一些区块链意义的空泛文章,比如“区块链技术颠覆谁谁谁”,又或“互联网已颠覆世界,区块链要颠覆互联网等等”,要么就是通篇介绍比特币,矿工...
  • 区块链代码

    千次阅读 2018-10-25 19:04:29
    区块链类: package indi.laf.blockchain; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import org.apache.commons.codec.digest.DigestUtils; import ...
  • 区块链原理详解_B|LLNG 北京联合信息技术股份有限公司 2017.01 区块链简介 特征及分类 区块链网络 目录 数据结构 核心问题 前景展望 1.区块链简介 背景 传统支付系统 互联网上的贸易,几乎都需要借助可资信赖的第三 ...
  • 前面两篇我们都聊了智能合约的话题,智能... 比特股发布于2014年,虽然没有引入智能合约的概念,但它提供了功能极为丰富的金融类工具,比特股上所有的金融合约都是事先在代码里写好的,所以说它的本身就是一个超级...
  • 区块链详解

    2020-02-26 07:50:20
    一、区块链:是一个开放的、分布式的、去中心化的数字账本,以可验证且不可篡改的方式有效记录各参与方的交易。区块链中的区块对数据结构有严格的要求,其中每个区块都记录着先前区块的Hash值,保证历史记录的完整性...
  • 区块链以及区块链技术入门详解

    万次阅读 多人点赞 2018-01-30 15:35:09
    区块链是目前一个比较热门的新概念,蕴含了技术与金融两层概念。从技术角度来看,这是一个牺牲一致性效率且保证最终一致性的的分布式的数据库,当然这是比较片面的。从经济学的角度来看,这种容错能力很强的点对点...
  • 区块链的基础概念很简单:一个分布式数据库,存储一个不断加长的 list,list ...下面这篇文章主要给大家介绍了关于Python学习入门之区块链的相关资料,文中通过示例代码介绍的非常详细,需要的朋友们下面来一起看看吧。
  • 主要介绍了python区块及区块链的开发详解的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 一、 以太坊和区块链的关系 从区块链历史上来说,先诞生了比特币,当时并没有区块链这个技术和名词,然后业界从比特币中提取了技术架构和体系,称之为区块链技术。从比特币提取的区块链技术称之为区块链1.0时代,...
  • 区块链技术入门详解

    2018-03-21 20:31:51
    区块链是目前一个比较热门的新概念,蕴含了技术与金融两层概念。从技术角度来看,这是一个牺牲一致性效率且保证最终一致性的的分布式的数据库,当然这是比较片面的。从经济学的角度来看,这种容错能力很强的点对点...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,082
精华内容 1,632
关键字:

区块链代码详解