老徐

Never underestimate your power to change yourself!

Fabric多台服务器的部署(五)

| Comments

8、Fabric 浏览器的部署

8.1 环境准备

1、nodejs安装,在第1节里已经说过node的安装,需要注意的是node版本应该是v9.x以下。
2、PostgreSQL的安装,浏览器会把监听到的数据存储在pg里,所以需要安装pg数据。

Fabric多台服务器的部署(四)

| Comments

7、创建channel和chaincode

  之前我们说过,本项目是一个nodejs的项目,是根据https://github.com/hyperledger/fabric-samples里的balance_transfer稍作修改来的,所以这里我们创建channel和chaincode,包括数据上链都会用nodejs sdk来做。

7.1、启动nodejs服务

 进入我们的trace_wine项目,使用npm安装项目所需的package,

1
npm install

安装完后,我们现在要启动node服务,我们可以看下,当前目录下面的个runApp.sh的脚本文件,看下里面内容就知道,这是个启动node服务的脚本

Fabric多台服务器的部署(三)

| Comments

6、启动Fabric网络

 完成上面的工作后,我们已经生成了Fabric所需要的证书和创世纪块等一些必要文件后,现在我们就需要配置docker文件,来启动Fabric网络,之前我们讲过需要启动的一些服务,现在在列一下,服务器一共有4台, 跑4个peer,4个ca, 4个kafka,3个zookeeper, 2个orderer,具体信息如下:
1、Server1: peer1、Ca1、 Kafka1、Zookeeper1、Orderer1
2、Server2: peer2、Ca2、 Kafka2、Zookeeper2、Orderer2
3、Server3: peer3、Ca3、 Kafka3、Zookeeper31
4、Server4: peer4、Ca4、 Kafka4
现在我们需要在各台服务器上启动这些服务,需要说明一下,我们需要先启动zookeeper,再启动kafka,然后启动orderer和peer,这些是有先后顺序的,因为各服务之间有依赖关系,不按顺序启动,最后可能各服务之间的通讯有问题,下面依次来启动这些服务。

Fabric多台服务器的部署(二)

| Comments

3、下载Fabric镜像

3.1.1 下载Fabric 源码

1、在后面的例子中,有些地方需要用到源码中提到的工具来编译和生成证书等,这里需要下载一下Fabric的源码,在本地下载Fabric官方提供的源码

1
git clone git@github.com:hyperledger/fabric.git

需要注意的时候,需要把下载好的源码放在$GOPATH里,这个环境变量是最初安装GO的设置的,如

1
2
echo $GOPATH
/Users/xuyao/go

那么fabric的源码地址路径应该是

1
/Users/xuyao/go/src/github.com/hyperledger/fabric/

Fabric多台服务器的部署(一)

| Comments

1、前言

 Hyperledger Fabric是一个提供分布式账本解决方案的平台。Hyperledger Fabric由模块化架构支撑,并具备极佳的保密性、可伸缩性、灵活性和可扩展性。Hyperledger Fabric被设计成支持不同的模块组件直接拔插启用,并能适应在经济生态系统中错综复杂的各种场景。  目前Fabric在区块链溯源场景应用的挺多,农产品,奢侈品,艺术品,红酒等方面都看过到案例,区块链可以保存产品各个环节的数据,并上链,用户最后可能只需扫描一个二维码,就可以查出某个产品整个的生产过程,与中心化数据不同的是,区块链溯源项目数据一旦上链后不可更改,而且数据公开透明,任何一方都没有权利来更改它,同时每个环节需要为你上链的数据负责,如果哪天消费查出某个环节的数据是假的,由于账本数据是分布式的、不可更改的,大家只相信数据,商家也无法抵赖,最后商家只能认错,名誉扫地,所以区块链本质上是解决一个多方协作的一个信任问题,而对于一件事情需要多方协作,共同记账来一起完成的,Fabric作为联盟链,显然很符合这种需求。

密码学(二)之代换密码

| Comments

(一)代换密码(替换密码)

上一讲中,我们讲移位密码其实是将字母表中的字母一一对应到各数字,然后通过数字平移来进行加密,古典密码学中还有一种比较有名的加密方法,就是将明文中的字母表对应到一套密文的字母表,这种加密方法我们叫代换密码(substiution cipher)或叫替换密码,下图就是一个简单的代换密码对应表

密码学(一)之移位密码(恺撒密码)

| Comments

前言

密码学的基本目的是使得两个在不安全的信道上进行安全的通信,在计算机网络中,现假设有两个人Alice和Bob,Alice想发送消息给Bob,告诉他明天凌晨2点毒贩将在4号码头进行交易,请Bob配合缉毒。这里Alice有一个麻烦就是他怕在信息传输中可能会被敌人Oscar监听,甚至篡改消息内容,导致整个计划失败,Bob也对Alice发过来的消息有疑虑,不知道消息是否为Alice本人所发,消息内容是否真实等等。

如何理解RESTful

| Comments

什么是REST

  REST的全称是:Representational State Transfer,直接翻译过来就是:表现层状态转移,表现层的意思就是资源, 这个词语读着比较难理解,网上有一种叫法比较容易理解,叫:URL定位资源,用HTTP动词(GET,POST,PUT,DELETE)描述操作。很简洁,就是看url就知道这个路由是什么了,然后看http的动词method就明白要做什么了,最后看他的 status code就知道返回结果了。REST最大的几个特点为:资源、统一接口、URI和无状态。

RESTful架构

  RESTful 是现在比较流行的一种设计风格,它提供了一组设计原则和约束条件,主要用于客户端与服务器的交互。RESTful架构更简洁,更有层次,更易于实现缓存等机制。
  记得刚工作那会,代码写的比较烂,比如说要写增加商品的路由,会写成下面这样,从RESTful角度来说,这样写其实已经违背了他统一接口和对URI的意义的原则

1
POST /create_product

2017年考研记

| Comments

前言

  17年上半年,为了凑个首付,两人搭上了几年的所有积蓄,还找亲朋好友借了一堆,平常就不太喜欢找人借钱,脸皮薄,开不了口,这次没办法,急用钱。借钱还算顺利,除了几个姐姐主动借给我的,跟同学借的也都给了,之前也借过他们,所以借的比较顺利。那天刷卡时没太多知觉,跟往常买衣服刷卡一样,只是多签了几次字,事后想想挺心痛,两个人几年的存款外加借的债就这样轻松的划走了,换来了一本合同。
  偶尔也感慨,生活就像一张白纸,能画出什么好看的东西,值不值钱,全凭你自己。回顾这几年的工作,生活经历,虽然也有一些小幅的进步,但并没有从根本上改变什么,只是工作经验多了几年而已。多读了几本书后,发现自己的能力还是撑不起梦想,生活在魔都,每个人都不缺梦想,梦想也值不了钱。