![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
区块链
水野与小太郎
blockchain & tensorflow ...learner...
展开
-
python asyncio 异步操作
asyncioasyncio 是用来编写并发代码的库,使用async/await语法。asyncio 被用作多个提供高性能 Python 异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等。asyncio 往往是构建 IO 密集型和高层级结构化网络代码的最佳选择。asyncio的编程模型就是一个消息循环。我们从asyncio模块中直接获取一个EventLoo...原创 2020-04-24 22:19:58 · 580 阅读 · 0 评论 -
分布式学习(7)etcd@3@ API v3 gRPC_事务,租约
一、ETCD 之 事务在etcdv3中,事务就是一个原子的、针对key-value存储操作的If / Then / Else 结构,事务提供了一个原语,用于请求归并到一起放在原子块中,例如then/else,这些原子块的执行条件,例如if以key-value存储里的内容为依据。事务可以用来保护key不受其他并发更新操作的修改,也可以构建CAS(Compare And Swap)操作,并以此作...原创 2020-04-24 10:14:01 · 715 阅读 · 0 评论 -
分布式学习(6)etcd@3@ API v3 gRPC_range,put,deleterange
1 gRPC Services发送到etcd服务器的每个API请求都是一个gRPC。在etcd3中的RPCs会根据功能分类到不同的service中。1.1 Services important for dealing with etcd’s key space include(处理etcd键值空间比较重要的service有以下三点):KV - Creates, updates,...原创 2020-04-23 21:40:42 · 775 阅读 · 0 评论 -
分布式学习(5)kafka@1
一、简介kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。1、Topics&logs:一个Topic可以被认为是一类消息,每...转载 2020-04-01 23:16:08 · 137 阅读 · 0 评论 -
分布式学习(4)hdfs@1
一、简介Hdfs有三个守护进程: 1、NameNode:保存存储文件与数据块的映射关系,并提供文件系统的全景图 2、Secondary NameNode: 3、DataNode:用于维护存储块的数据(数据的存储和获取)Hdfs数据读取流程: 1、客户端身份验证,(a)通过信任的客户端,(b)通过Kerberos等强认证机制来完成 2、客户端访问N...原创 2020-03-14 19:32:07 · 291 阅读 · 0 评论 -
分布式学习(3)etcd@2@HTTP API v2
一、安装cd $GOPATH/srcmkdir go.etcd.io && cd go.etcd.iogit clone https://github.com/etcd-io/etcd.gitcd etcd./build# testcd bin./etcd --version./etcdctl version二、试运行 ##an example:利用g...原创 2020-03-09 08:05:07 · 898 阅读 · 0 评论 -
分布式学习(2)etcd@1@goreman
一、什么是goremangoreman是一个go语言编写的多进程管理工具,是对Ruby下广泛使用的foreman的重写(foreman原作者也实现了一个golang版:forego,不过没有goreman好用)相比较monit、supervisor而言要简单的多,而且可以在项目级别管理进程,比较适合开发环境使用。比如快速运行和一项目相关的所有进程,goreman就可以派上用场。coreos的...原创 2020-03-07 12:38:58 · 374 阅读 · 0 评论 -
分布式学习(1)gRPC python@protobuf_grpc
一、安装gRPC 的安装:$ pip install grpcioProtoBuf 相关的 python 依赖库:$ pip install protobufpython grpc 的 protobuf 编译工具:$ pip install grpcio-tools二、protobuf 文档信息结构体 messagemessage SearchRequest {...转载 2020-03-04 17:26:44 · 547 阅读 · 0 评论 -
python RSA
零:认识如果没有 RSA 算法,现在的网络世界毫无安全可言,也不可能有现在的网上交易。上一篇文章 ssh 协议为什么安全 中的 ssh 协议也是基于 RSA 加密算法才能确保通讯是加密的,可靠的。1976年以前,所有的加密方法都使用对称加密算法:加密和解密使用同一套规则。例如:甲使用密钥 A 加密,将密文传递给乙,乙仍使用密钥 A 解密。如果密钥 A 在甲传递给乙的过程中泄露,或者根据已...原创 2019-12-07 15:21:58 · 213 阅读 · 0 评论 -
从底层开始学写BlockChain__POW__共识算法
POW即工作量证明:因为记账有一定的奖励和手续费,所以自然会有竞争,POW (Proof of Work) 工作量证明共识机制就是用来在“谁有权记账”这一问题上达成共识。简单来说,就是争夺记账权的多方通过付出计算资源解决一个数学难题,谁先解决谁就获得记账权,这个争夺的过程就是“挖矿”,也是比特币发行的过程。具体的计算问题是,计算出新区块的hash值,并且这个hash值要小于某个数,也就是要有足...原创 2019-11-09 20:46:25 · 277 阅读 · 0 评论 -
从底层开始学写BlockChain__hashlib(Learn)
基本概念1、什么叫hash:hash是一种算法(不同的hash算法只是复杂度不一样)(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),该算法接受传入的内容,经过运算得到一串hash值2、hash值的特点是(hash值/产品有三大特性:):2.1 只要传入的内容一样,得到的hash值必然一样=====&...转载 2019-11-09 19:35:22 · 140 阅读 · 0 评论 -
从底层开始学写BlockChain__Merkle Tree
1、Hash List:在点对点网络中作数据传输的时候,会同时从多个机器上下载数据,而且很多机器可以认为是不稳定或者不可信的。为了校验数据的完整性,更好的办法是把大的文件分割成小的数据块(例如,把分割成2K为单位的数据块)。这样的好处是,如果小块数据在传输过程中损坏了,那么只要重新下载这一快数据就行了,不用重新下载整个文件。怎么确定小的数据块没有损坏?只需要为每个数据块做Hash。BT下载的时...原创 2019-11-06 22:58:43 · 329 阅读 · 0 评论 -
从底层开始学写BlockChain__basic
区块的大小规定不能超过1M,它的结构分为两个部分,区块头和区块体区块头共有80个字节,共分为6个部分:Version:4 Bytes,记录区块头的版本号,用于追踪软件/协议的更新 PreBlockHash:32 Bytes,记录了上一个区块的Hash address MerkleRoot:32 Bytes,记录了该区块交易的merkle树根的哈希值 Timestamp:4 Byte...原创 2019-11-06 17:01:52 · 314 阅读 · 0 评论 -
ubuntu卸载docker
ubuntu卸载dockersudo apt-get remove docker docker-engine docker.io docker-ce单独的反而卸载不掉,不晓得为什么转载 2018-11-13 10:23:41 · 5659 阅读 · 1 评论 -
Fabric 016 Fabric - NodeJs -SDK 安装
需要确保以下配置,特别是第三个,我之前安装失败原因............ node runtime LTS version 8.9.0 or higher, up to 9.0 (Node v9.0+ is not supported) npm tool version 5.5.1 or higher gulp command (must be installed globaly w...原创 2019-03-03 00:28:41 · 604 阅读 · 0 评论 -
Fabric 017 运行一个简单案例
一、目录blockfabric-ca-serverfabricconfigorderpeer二、执行过程1、fabricconfig -- crypto-config.yaml# ---------------------------------------------------------------------------# "OrdererOrgs" -...原创 2019-03-11 16:21:15 · 509 阅读 · 0 评论 -
Fabric 018 Nodejs-SDK query & invoke
运行express;安装npm install ---> fabric-client & fabric-ca-client & other express relations// invoke'use strict';var express = require('express');var router = express.Router();var ...原创 2019-03-12 14:57:56 · 404 阅读 · 0 评论 -
Fabric 019 NodeJs-SDK
简介此篇文章重点介绍Nodejs-SDK中部分常用的方法,为了便于理解方法的使用,故按照不同功能划分并释义;其中可能在一个功能中涉及到了很多个类方法的使用。创建、更新Channel通道client.extractChannelConfig(config_envelope)从configtxgen工具生成的ConfigEnvelope对象中提取protobuf结构的ConfigUp...转载 2019-03-12 16:41:04 · 782 阅读 · 0 评论 -
fabric: Error while trying to open DB: resource temporarily unavailable
由于多个peer正在抢资源导致,可以重启电脑,就好了原创 2019-04-04 23:00:21 · 492 阅读 · 0 评论 -
Fabric020 构建一个区块链项目
47.102.201.135:8090_这是本人构建的简单的区块链项目,非常简单的一个项目;比较重要的是写好一个chaincode,看看源码的话10分钟就会了,自己编一个功能强大的chaincode,example_02这个chaincode,init之后不能再申请变量了,你需要再写一个inita用来注册变量;下面是拥有可以申请新变量的chaincode:peer chaincode inv...原创 2019-04-10 21:44:01 · 459 阅读 · 0 评论 -
Fabric 014 Docker 记录
http://www.runoob.com/docker/docker-tutorial.html1、镜像(远程) pull / push:从仓库中拉取镜像 / 上传镜像至仓库中 (本地) images / rmi / tag:列举本地的镜像 / 删除本地镜像 / 修改本地镜像的标签 (构建新的镜像)commit / build:由旧的镜像提交至新的镜像 / (d...原创 2019-02-26 13:25:12 · 160 阅读 · 0 评论 -
Fabric 015 docker-mysql 记录
1.搜索MySQL镜像$ docker search mysql2.下载MySQL镜像$ docker pull mysql3.运行容器$ docker run -d --name mysql(自己定义) -e MYSQL_ROOT_PASSWORD=123(自己定义) mysql$ docker exec -it mysql(自己定义) /bin/bash 4...原创 2019-03-01 17:06:50 · 172 阅读 · 0 评论 -
fabric003 fabric核心模块 复习 与 Orderer模块的更为详细的介绍
上一章主要介绍了cryptogen,configtxgen 和 configtxlor下面复习一下:1、cryptogen 模块式生成组织结构和账号相关的模块 对应的配置文件例子是e2e_cli / crypto-config.yaml ; 可以用crytogen generate 来生成对应的证书文件2、configtxgen模块式生成orderer的初始化文件和cha...原创 2018-11-22 12:14:02 · 1000 阅读 · 0 评论 -
HYPERLEDGER FABRIC架构详解 (好文!!!!)
区块链开源实现HYPERLEDGER FABRIC架构详解区块链开源实现HYPERLEDGER FABRIC架构详解hyperledger fabric是区块链中联盟链的优秀实现,主要代码由IBM、Intel、各大银行等贡献,目前v1.1版的kafka共识方式可达到1000/s次的吞吐量。本文中我们依次讨论:区块链的共通特性、fabric核心概念、fabric的交易执行流程。。1、...转载 2018-11-17 15:51:12 · 28594 阅读 · 5 评论 -
fabric002 fabric的核心模块和命令
我想学完fabric的几个核心模块和功能就搭建一个最简单的fabric网络吧,总之,我们一起努力,一起学习,看着官网,网上的教程试探性的学习,由于自己还有一年就是研究生了,压力很大,学长很强。。。一、fabric的五个核心模块peer:主节点模块,负责存储区块链数据,运行维护链码 orderer:交易打包,排序模块(为什么要排序??) cryptogen:组织和证书生成模块 c...原创 2018-11-21 14:57:32 · 1002 阅读 · 3 评论 -
fabric001 ubuntu安装hyperledger fabric
首先说说我的感受吧,我在windows下装了fabric,在liunx下装了fabric,我请在windows下做开发的人先放弃吧......你用vagrant没有必要搞的乱七八糟的,为什么不装了liunx系统来的方便,我运行成功样例用了两天,重装了好几遍,心累...大家不要以为运行不了e2e就放弃了,这只是一个例子而已,我们去了解脚本代码比运行样例能了解的更多.....另外我对一些和我一样的小...原创 2018-11-14 18:39:48 · 685 阅读 · 0 评论 -
运行truffle中的一些命令(DAPP 大家一起努力吧!!)
Install Truffle globally.npm install -g truffleDownload the box. This also takes care of installing the necessary dependencies.truffle unbox webpackRun the development console.truffl...转载 2018-11-09 21:46:15 · 290 阅读 · 0 评论 -
以太坊平台搭建
前言本文主要总结在Ubuntu系统上搭建以太坊开发平台的过程。注意:安装以下软件的时候,请尽量使用ubuntu系统官方的apt源。由于国内很多公司,例如阿里,网易,腾讯等都免费提供apt源,在有的时候当然可以加快我们安装软件的速度。但是,在安装本文所介绍的软件的时候我就遇到了各种奇葩的错误,后来更换了ubuntu的官方apt源后有些问题就没有了。在使用npm安装某些软件的时候,转载 2017-12-14 22:55:39 · 2546 阅读 · 0 评论 -
一边转载一边学习区块链
geth的全称是go-ethereum,是一个以太坊客户端,用go语言编写,应该是目前最常用的客户端。当然以太坊客户端还有用C++,Ruby,Python,Java等其他多种语言编写的,不同类型的客户端是为了满足不同的需求场景。今天我们主要来介绍geth(发音同guess )的使用。 (1)打开终端Terminal,执行以下命令,以开发方式启动gethgeth -转载 2017-12-16 09:38:12 · 635 阅读 · 0 评论 -
fabric004 fabric 核心模块----Peer模块的更为详细的介绍
peer模块式fabric中最重要的模块,也是fabric系统中使用最多的模块;peer模块在Fabric中被称为主节点模块,主要负责:存储区块链数据、运行维护链码、提供对外服务接口等作用。peer的环境变量export set CORE_VM_ENDPOINT=unix:// /var/run/docker.sock export set CORE_VM_DOCKER_HOS...原创 2018-11-23 13:23:35 · 2442 阅读 · 0 评论 -
fabric005 peer模块--gossip服务详解
正文 最近一直在看fabric系统中的核心模块之一——peer模块。在看peer的配置文件core.yaml的信息时,对其中的gossip配置选项很感兴趣。看了一上午,还是不能明白这个选项到底什么意思呢?表面意思很容易理解:“gossip”——“闲话”。但是在配置选项中为什么要起这么个名字呢? 后来查阅了一些资料,才知道开发者用意何为?gossip——可最终达到一致的算...转载 2018-11-23 16:11:34 · 632 阅读 · 0 评论 -
Fabric 013 NodeJs Express Session记录
安装 express-sessionnpm install express-session --save引入var session = require("express-session");设置官方文档提供的中间件app.use( session({ secret: 'keyboard cat', resave: false, saveUninitialized: t...原创 2019-02-23 18:55:36 · 155 阅读 · 0 评论 -
Fabric 012 NodeJs Express Mysql 记录
rounter文件夹--functions(第一级目录的文件夹==>负责为第一级目录下的js文件提供借口) -- Mysql_Func -- sql_connection.js -- sq...原创 2019-02-23 18:32:03 · 206 阅读 · 0 评论 -
Fabric 011 NodeJs Express 模板引擎记录
esj 三种标签:<% code %>:JavaScript 代码。 <%= code %>:显示替换过 HTML 特殊字符的内容。 <%- code %>:显示原始 HTML 内容。注意: <%= code %> 和 <%- code %> 的区别,当变量 code 为普通字符串时,两者没有区别。当 code 比如为 ...原创 2019-02-22 00:04:43 · 223 阅读 · 0 评论 -
Fabric 009 NodeJs Express安装与运行记录
先安装Nodejsnpm install -g express-generatornpm install -g expressexpress ProjectNamecd ProjectNamenpm startnpm install package --save// Look Package.json{ "name": "test",...原创 2019-02-21 21:32:29 · 218 阅读 · 0 评论 -
Fabric 010 NodeJs Express 路由记录
-- index.js --var express = require('express');var router = express.Router();/* home router */router.get('/index', function(req, res, next) { res.render('index', { title: 'Express' });});...原创 2019-02-21 23:54:59 · 223 阅读 · 0 评论 -
fabric 运行的一些问题
自己fabric反复装了 运行了6~7 遍,其中遇到不少问题,我向大家说一下注意事项吧:一、Ubuntu版本选择比较新的版本,Ubuntu版本过低会导致的gcc,g++版本比较老,在make的时候会出现这样那样的问题,很麻烦,而gcc,g++重装,还不如你重新装个新版本的Ubuntu。二、Golang的版本一定要 >1.9 ; 个人比较推荐>=1.11的版本(如果fabr...原创 2019-02-03 16:17:12 · 723 阅读 · 0 评论 -
Fabric007 Fabric-CA Fabric的账号系统之fabric-ca-server
我们一般如何进入系统--账号--密码;区块链中的账号结构不是-账号-密码;而是-msp-tls(cryptogen模块生成)的结构(具体原因可以深入了解)-----msp----- admincerts--管理员证书 cacerts--根CA服务器证书 keystore--节点或者账号的私钥 signcerts--符合X.509的节点或者用户证书文件 tlscacerts--T...原创 2019-01-01 22:24:20 · 484 阅读 · 0 评论 -
Fabric008 Fabric-CA Fabric的账号系统之fabric-ca-client
fabric-ca-server 提供了一组RESTAPI接口给第三方接口,fabric-ca-client对这些接口进行封装,只需几个参数便可连接server进行账号注册、账号授权enroll:登录账号 gencrl:撤销证书 gencsr:创建证书签名 getcacert:获取CA链证书 reenroll:重新登记账号 register:注册一个新账号 revoke:撤销一个...原创 2019-01-04 18:47:52 · 623 阅读 · 0 评论