摘要:
智能合约的作用很多,但是很多数据还是要基于互联网,那么如何在合约中获取互联网中的数据?Oraclize就是为了这个目的而诞生的。 工作原理: 智能合约通过对Oraclize发布一个合约之间的调用请求来获取数据,指定数据源和参数。Oraclize根据收到的请求获取数据,利用callBack函数返回结果 阅读全文
摘要:
接上一章的内容,这篇介绍 deploy相关和结果演示。 deploy一个合约的过程中,需要计算发布的消耗和nonce值。 当进行每笔交易时,发送人设定Gas Limit 和Gas Price,将 Gas Limit*Gas Price ,就得到了ETH交易佣金的成本。 nonce:以太坊要求一个账户 阅读全文
摘要:
本文的目的是通过代码的方式展示如何开发一个能够编译solidity智能合约并且能发布的平台。 1.solcJs solidity文件通过solc来编译的,安装solcjs,他使用javascript的方式编译合约。安装比较简单 安装solcjs: 我安装的时候默认安装的solc是0.4.8,这个版本 阅读全文
摘要:
因为装的JDK 是1.7. elasticsearch 版本0.9,1.3-2.4 ,1.3支持JDK1.7,1.3以上的都支持1.8了。所以下载安装的是es 1.3版本; If everything goes well, you should see a bunch of messages tha 阅读全文
摘要:
其实严格来讲,link和controller是完全不同的概念,这里讲区别有点牵强。 angular指令中,带有link和controller两个函数,很多人在写指令的时候不知道是写在link里 还是controller中。 其实这两个函数很大程度上牵扯到angular对于页面dom的加载时候对于两个 阅读全文
摘要:
fabric针对java 开发的部分支持不是很友好。基于目前较为稳定的fabric 1.4版本,我们封装了一个java sdk,apiserver,eventServer 封装java sdk的主要目的是为了简化使用者的操作,只需要正确配置了配置文件就可以快速构建 fabric client。 ja 阅读全文
摘要:
开发java chaincode过程中遇到一个中文乱码的问题。都是官方的demo,请求的sdk是用java写的,部署的chaincode有两种选择(不考虑node),一种go语言写的chaincode,一种java写的。 笔者实际调用发现,相同的客户端如果请求go的chaincode,中文是能够正确 阅读全文
摘要:
联盟链由于其本身的特性,目前应用在一些大型国有企业银行比较多。出于安全考虑,这些企业一般会隔离外网环境。所以在实际生产需求中可能存在需要在一个离线的环境中打包安装chaincode的情况。 本文基于这个需求而编写。 java env 镜像源码:https://github.com/hyperledg 阅读全文
摘要:
链码的开发不部分参考官网demo即可。 本文不会详细介绍开发过程 笔者启动的是一个gradle工程,也就是jar包管理使用的是gradle。 chaincode 源码: 链码的逻辑很简单,需要注意的是,gradle工程的配置文件中,需要制定baseName是 chaincode。因为在节点实例化链码 阅读全文
摘要:
前提条件: 构建好了一个拥有四个peer 一个Order 的1.4版本的Fabric网络。 证书通过Cryptogen生成,没有使用CA服务。 开启TLS。 网络中的peer都加入了一个 名为mychannel的通道中。 123 一.链码编写 java版本的链码参考官网有很多,我使用的是 https 阅读全文
摘要:
本篇是这个系列的最后一篇,尽管在区块链中还有很多的密码学应用,将来会必然会更多,然而笔者认为,就今天我们有限的学习时间来讲的话,任何人都应该对信息的获取做减法。思来想去,选择了“零知识证明”来作为本系列的终章。 什么是零知识证明? wiki百科上对于零知识证明的描述是这样的:证明者可以向验证方证明他 阅读全文
摘要:
什么是Merkle Tree? Merkle Tree 的命名来自于美国密码学家Ralph C. Merkle ,关于他的个人资料:传送门https://en.wikipedia.org/wiki/Ralph_Merkle。与前面讲的几种算法不同,Merkle Tree是一种树结构,而并非具体的某种 阅读全文
摘要:
在目前密码学的非对称加密算法中,RSA算法依然是一种主流,但是随着比特币中对于一种之前不太流行的算法:椭圆加密算法(ECC)的成功应用后,这种算法得到了很大的关注和普及。有一种说法是中本聪不信任RSA算法,认为美国人在其中留有后门,而据斯诺登的爆料也确实如此。相较RSA,ECC不仅在某种程度上杜绝所 阅读全文
摘要:
密码学领域中,加密算法主要分为对称加密和非对称加密,随着信息时代安全性要求越来越高,对称加密因为其易被破解的原因逐渐被舍弃。而RSA算法是目前密码学世界中比较流行的非对称加密算法,命名是根据其发明者Rives,Shamir,Adleman三人的名字缩写而来。讲到RSA就不得不提到最近"黎曼猜想被正面 阅读全文
摘要:
在很多技术人员的眼中,区块链并不是一种新的技术,而是过去很多年计算机技术的组合运用。而在这个方方面面技术的运用上,基于密码学的加密算法可以说是区块链各种特点得以表现的根本,一旦目前使用的加密算法被证实可以破解,那么现有的区块链技术很有可能土崩瓦解。本文所要讲述的就是目前区块链中运用最广的加密算法:S 阅读全文