自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 makefile文件

.PHONY: all dev clean build env-up env-down runall: clean build env-up rundev: build run##### BUILDbuild: @echo "Build ..." @export GOPROXY=https://goproxy.cn

2021-06-10 16:42:19 165

原创 go依赖工具

GO111MODULE=on go mod initgo: creating new go.mod: module github.com/kongyixueyuan.com/kongyixueyuanGO111MODULE=on go mod vendorgo: no dependencies to vendorexport GOPROXY=https://goproxy.cnGO111MODULE=on go mod vendorgo: no dependencie``s to ven

2021-06-10 15:32:36 533

原创 python之类的继承

通过继承积累来得到基类的功能class Parent(object): def __init__(self,name,sex): self.name = name self.sex = sex def talk(self): return f'{self.name} are talking' def is_sex(self): if self.sex == 'boy': return f

2021-06-07 11:00:54 195 1

原创 python之封装,装饰器

1.封装将不对外的私有属性或方法通过可对外使用的函数而使用(类中定义私有的,只有类内部使用,外部无法访问)2.装饰器

2021-06-06 18:05:40 352 1

原创 python之类

类的定义class Nmae(object) attr = somethingdef func(self) do2.类的参数selfclass Person(object): name = None age = None def run(self): print(f'{self.name}在奔跑') def jump(self): print(f'{self.name}在跳跃') def work(self

2021-06-06 16:36:34 46

原创 go mod init报错

go: cannot determine module path for source directory /home/li/go/src/github.com/kongyixueyuan.com/kongyixueyuan (outside GOPATH, no import comments)根据某篇文章大佬的解释用了 go mod 那么项目 请一定不要创建在 gopath 的 src 中这是因为 go mod init 初始化项目时,需要定义一个 module在init后面给个定义就完事了g

2021-06-03 14:17:59 1913

原创 linux报错

git不到github解决方法:vim /etc/hostshttps://github.com.ipaddress.com/#ipinfo查找一下github的IP加入到上面的配置中结果报错从port443到port1080这是由于设置了动态代理查询有没有设置:git config --global http.proxygit config --global https.proxy取消代理git config --global --unset http.proxygit co

2021-06-02 16:52:53 57

原创 python之函数

1.函数def name(args...):#coding:utf-8def capitalize(data): index = 0 temp = '' for item in data: if index ==0: temp = item.upper() else: temp += item index += 1 print('for结束了') ret

2021-05-31 20:05:58 56 1

原创 while循环,以及continue和break

1while.以一定条件为基础的循环,条件满足就一直循环下去count = 0total = 0while count <= 100: total += count count += 1 if count == 10: print('count已经到10了') elif count ==50: print('count已经到50了') elif count ==99: print('count马上要100

2021-05-31 10:06:58 128

原创 python逻辑判断

1.if语句info = 'my name is xiaomu'info_list = info.split()print(info_list)if info_list[0] == 'xiaomu': info_list[0] ='dewei'if info_list[1] == 'xiaomu': info_list[1] = 'dewei'if info_list[2] == 'xiaomu': info_list[2] = 'dewei'if inf

2021-05-31 09:33:23 349

原创 pyhton9x9乘法表

work = {} #创建一个字典one_value = (1,) #值one_key = 1 #键work[str(one_key)] = one_value #键值对给work字典two_key = 2two_value = []two_value.append(1) #增加值two_value.append(2)work[str(two_key)] = two_valuethree_key = 3three_value = []three_value

2021-05-30 14:53:07 107

原创 元组列表集合间的转换

2021-05-30 14:38:13 911

原创 python之字符串相关

1.不同数据类型转换int数字类型,可以用float转换float不能用int转换int_data = 12float_data = 3.14str_int_data = str(int_data)str_float_data = str(float_data)print(str_int_data,str_float_data,type(str_float_data),type(str_int_data))zero_number = 0_number = -1str_zero_nu

2021-05-30 13:17:03 108

原创 python之集合

集合是一个无序的不重复元素序列常用来对两个列表进行交叉并的处理a = set()print(a)print(type(a))b = set(['python','django','flask'])print(b)c={(1,2,3), '123', 1}print(c)a_list = ['python', 'django', 'python', 'flask' ]b_set = set(a_list)print(b_set)集合的add函数,update函数,remove

2021-05-29 15:11:34 48

原创 字典相关操作

1.使用[]user = {'username': 'dewei', 'age': 33}user['top'] = 174 #加入字典print(user)user['username'] = '小慕' #修改print(user)user['top'] = 175print(user)2.update作用:添加新的字典xiaomu = {'username':'小慕', 'age':10, 'top':175,'sex':'male'}user.update(xiaom

2021-05-27 20:46:31 53

原创 索引与切片

索引从最左边记录的位置就是索引索引用数字表示,起始从0开始字符串,列表元组的最大索引是他们的长度-1切片索引用来对单个元素进行访问,切片则对一定范围内的元素进行访问切片通过冒号在中括号内把相隔的两个索引查找出来 [0:10]numbers = [1,2,3,4,5,6,7,8,9,10]print(len(numbers)-1)print(numbers[9])print(id(numbers))print('获取列表完整数据:', numbers[:])print('另一种方法:

2021-05-25 22:48:28 2204

原创 python之列表常用方法

回顾一下组元以及列表的累加累乘names = ('dewei', 'xiaomu', 'xiaowang')names_add =names+namesnames_c = names * 10names += ('abc', )print(names)names *= 10print(names)name_list = ['dewei', 'xiaomu']name_list += ['xiaowang']print(name_list)name_list *= 5print(

2021-05-25 10:26:47 87

原创 python之格式化

标识 %s示例代码info = ‘my name is %s, my age is %s’name_01 = ‘小慕’age_01 = 10name_02 = ‘dewei’age_02 = 33print(info %(name_01,age_01))print(info %(name_02,age_02))message = ‘您好,今天是%s,您的手机号码:%s已经欠费了,请尽快充值’print(message %(‘星期一’,123456789))books = [‘pytho

2021-05-22 19:04:22 51

原创 小点

1.吞吐量=x笔交易数/x笔交易达成共识的时间2.交易吞吐量被定义为交易被提交到区块链的比例3.时延=在全网一笔交易达成共识交易的时间(包括发送交易,两次网络传输,共识阶段,接受信息来更新区块链)4.时延是交易被播报到交易被提交的时间...

2021-01-05 14:26:21 84

原创 链码在org1和org2之间都要安装

docker exec -it cli bashcd cd /opt/gopath/src/github.com/chaincode/vehicle在peer0.org1.example.com安装peer chaincode install -n vehicle -v 1.0 -p github.com/chaincode/vehicle在peer0.org.example.com安装CORE_PEER_ADDRESS=peer0.org2.example.com:9051CORE

2020-12-26 15:12:54 380

原创 Securing Communication With Transport Layer Security (TLS) 【hyperledger 官方文档】

Fabric supports for secure communication between nodes using TLS. TLS communication can use both one-way (server only) and two-way (server and client) authentication.Configuring TLS for peers nodesA peer node is both a TLS server and a TLS client. It is

2020-12-23 15:14:56 127

原创 caliper报错汇总

连续用了两周caliper了,遇到很多问题,捡还记得的记录一下:1.解决方法: ctrl+h 将我这个.nvm显示出来 再去caliper-workspace将grpc_node.node复制到缺失目录即可2.caliper需要node.js的版本为8.9.0,太高不行解决方法:nvm listnvm use 8.9.0(没有先下载)3.解决方法:当时网络配置文件写的是0.4.2的,改为0.3.2的版本就ok4.现在遇到一个很棘手的问题peer 节点 log暂时还在想如何

2020-12-23 14:47:42 526

原创 npm install经常卡住

npm config set registry https://registry.npm.taobao.org换成国内的

2020-12-15 14:36:56 886

原创 fabric2.0 链码操作(不同于官方文档的一种检测方法)

文章来自https://learnblockchain.cn/article/722下面是演示步骤:无链码方式启动 First Network打包 SACC 链码在指定 peer 节点上安装 SACC 链码包机构审批链码在 mychannel 通道上提交链码调用 SACC 链码的 Init 方法调用 SACC 链码的 set 方法并从另一个 peer 节点查询结果cd go/src/github.com/hyperledger/fabric/scripts/fabric-samples/f

2020-12-11 13:50:31 542 1

原创 hyperledger fabric官方文档

官方文档 永远的神贴几个我比较常用的官方文档作为书签1.4.x部署网络https://hyperledger-fabric.readthedocs.io/en/release-1.4/build_network.html2.0.0部署网络https://hyperledger-fabric.readthedocs.io/en/release-2.0/build_network.html#peerenvvars...

2020-12-10 15:09:47 1672

原创 1.4.3部署自己的链码

peer chaincode install -n mycc -v 1.0 -p github.com/chaincode/Vehiclepeer chaincode instantiate -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example

2020-12-07 19:32:38 465

原创 go mod下载依赖错误

go env -w GOSUMDB=off 到当前链码文件夹

2020-10-23 16:28:07 425

原创 1.4.3创建自己的网络

您猜怎么着?这个2.0.0配置raft 我把所有yaml都改了一遍 并且仔细检查 非要说我占用了7050这个端口,这个端口我再确认了一下,只分配给了orderer节点啊???然后我打开我第一个配置的虚拟机,是1.4.3的步骤:../bin/cryptogen generate --config=./crypto-config.yaml../bin/configtxgen -profile SampleMultiNodeEtcdRaft -channelID byfn-sys-channel -ou

2020-10-23 14:42:54 169 1

原创 报错:Failed validating bootstrap block: initializing channelconfig failed: could not create channel Or

把crypto-config文件夹下的东西删掉

2020-10-22 15:50:36 1062 1

原创 2.0.0搭建自己的fabric网络

前提是byfn可以运行之前配置了好多次了,这次记录一下1.第一步 使用cryptogen为fabric网络产生组织结构和证书相关的文件是crypt-config.yaml../bin/cryptogen generate --config=./crypto-config.yaml终端显示org1.example.comorg2.example.com2.我们接下来要告诉configtxgen工具去找这个configtx.yaml文件,让他在当前的工作目录寻找:export FABRIC

2020-10-22 15:33:50 1082 3

原创 解决git clone https://github.com/hyperledger/fabric.git下载网速太慢问题

git clone https://gitee.com/hyperledger/fabric.git转载

2020-10-21 22:59:39 2153 2

原创 配置2.0.0

sudo apt updatesudo apt install gitsudo apt install curlsudo apt install docker.iosudo groupadd docker# step 2:将当前用户添加到docker用户组sudo usermod -aG docker $USERsudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compo

2020-10-21 22:16:02 133

原创 2020-10-20

想了想 毕竟2.0.0是2x第一个版本,各方面都比较完善,还是用这个版本好了(绝对不是我误删了2.2的镜像)curl -sSL https://bit.ly/2ysbOFE | bash -s -b -- 2.0.0 1.4.4 0.4.18

2020-10-20 10:53:14 49

原创 两种下载镜像和二进制方法

git clone https://github.com/hyperledger/fabric-samples.gitcd fabric-samplesgit checkout 22393b629bcac7f7807cc6998aa44e06ecc77426下载Hyperdger Fabric 2.2.0的二进制文件与docker镜像curl -sSL https://bit.ly/2ysbOFE | bash -s – 2.2.0 1.4.8 -s还有一种 ./bootstrap.sh up

2020-10-19 16:36:18 422 2

原创 docker-compose安装

以后都用这个安装,稳得很:sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2020-10-18 22:49:02 40

原创 caliper测试性能(小例子)

这个是我之前一周做的一个实验,多谢余府同学的大力帮助~我们接下来要在一个存在的区块链网络建立并且运行性能测试概况用caliper测试,要安装nodejs。本文先用官方文档里面的。这个网络包含两个组织一个soloorderer,运用了js的asset-transfer-basic智能合约。下载镜像二进制我默认已经下载了包括配置环境变量cd go/src/github.com/hyperledger/fabric/scripts/fabric-samples/test-network//以默认方式建

2020-10-16 20:16:02 7094 5

原创 编写你的第一个链码

前面废话不多说了,链码是什么懂的都懂资产转移链码这个应用是一个基础的样例链码,这个链码可以产生一个账本(这个账本能创建资产,读,更新,删除资产,检查是否一个资产存在,转移资产)为你的代码选个位置就在home目录下面创建即可,并建立链码go文件(到时候把代码放进去)// atcc is shorthand for asset transfer chaincode mkdir atcc && cd atcc go mod init atcc touch atcc.go

2020-10-16 13:29:57 762 1

原创 在fabric2.2.1环境下部署智能合约

1.开启网络没啥好说的,之前要下samples,二进制和镜像cd fabric-samples/test-network把之前网络关闭了./network.sh down用下面的指令开启测试网络:./network.sh up createChannelcreatechannel指令创造了一个叫mychannel的channel(两个组织org1和2)。成功的画面8说了,就是channel successfully joined。这会可以用peer cli来部署asset-trans

2020-10-14 21:01:28 2154 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除