自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

目前专注区块链相关技术的学习与分享

区块链方向计算机研究生

  • 博客(114)
  • 资源 (4)
  • 收藏
  • 关注

原创 Solidity基础面试题

为了克服这些挑战,通常需要使用各种密码学技术和算法来生成"足够随机"的数字,比如通过组合多个可能的熵源、使用延迟性随机函数、引入可信的外部预言机等。在区块链上生成真正的随机数存在一些固有的挑战,主要原因是区块链是一个确定性的系统,而真正的随机性需要引入不可预测的外部元素。由于地址是确定的,因此连续两次使用相同的4个参数部署同一个字节码,得到的合约地址将完全相同。则是对内部错误的最后保护。用于部署一个新合约,新合约的地址是由创建者的地址、创建者的nonce值以及部署合约的字节码通过一个确定性的计算得到的。

2024-04-17 15:22:51 526

原创 可信通信(TLS/SSL协议)

比特币,以太坊,超级账本在建立网络连接保证节点间可靠通信的时,都直接采用了传输层安全性协议(Transport Layer Security),TLS协议自从1999年发布以来已经广泛的应用在浏览器,电子邮件等应用中了,经过了大规模的验证,已经成为了互联网上保密通信的工业标准,可以说是目前构建区块链网络间通信的最佳选择。

2024-04-17 10:27:41 293

原创 区块链基础概念

消息摘要就是采用单向哈希(Hash)函数将需要加密的明文“提取摘要”生成一串固定长度的密文,这一串密文又称为数字指纹,它有固定的长度,而且不同的明文提取摘要生成的密文其结果总是不同的,但是同样的明文产生的摘要是一致的。由于生成摘要的明文是没有任何限制的,但是得到的摘要却是定长的,必然就会导致有一些明文会产生相同的摘要,这种现象被称为”碰撞“。为了避免这种情况的产生哈希函数必须具备很好的抗碰撞性,意味着在现有的计算资源(包括时间、空间、资金等)下,找到一个碰撞是不可行的。消息摘要如下的四个特点;

2024-04-17 09:54:49 908

原创 Solidity入门1: 3. 函数类型

solidity官方文档里把函数归到数值类型

2024-04-05 17:44:44 959 1

原创 golang代理超时报错”https://proxy.golang.org/github.com/********** host has failed to respond

使用Golang出错时,

2024-04-05 15:28:47 309

原创 关于golang编译出错: Get “https://proxy.golang.org/chainmaker.org/chainmaker/common/v2/@v/v2.2.0.mod“: dial

然而在1.3版本后,golang推出了go module 机制,同时发布了一个叫做 Module proxy protocol 的协议,通过这个机制,我们可以搭建go模块代理,最后通过GOPROXY变量以指引go命令在后续抓取模块的途径。部署长安链时,其中在编译证书生成工具时,发现老是出现i/o timeout,原因就是依赖拉取超时.在网上查阅资料后发现是自己的golang版本太低(1.3一下),因为goalng在最初开发时,

2024-04-05 15:21:10 234

原创 如何处理ubuntu22.04LTS安装过程中出现“Daemons using outdated libraries”提示

下表总结了上述使用的命令。命令描述在 ubuntu 中安装 needrestart 服务以机器可读格式显示需要重新启动的服务内容以人类可读格式显示需要重新启动的服务内容重启服务器reboot重启服务器。

2024-04-05 15:13:55 743

原创 Docker指令报错:Got permission denied while trying to connect to the Docker daemon socket at unix:/

安装完docker,运行指令时,出现了以下错误提示:原因分析:这是因为你当前的用户没有这个权限。默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。即我们当前的用户不是root用户。解决办法:把我们当前的用户添加到docker组中就可以了,这样他们就是一家人了。

2024-04-05 15:10:35 261

原创 X.509数字证书的结构与解析

如果不是pkcs8格式的,那么"-----BEGIN PRIVATE KEY-----"和"-----END PRIVATE KEY-----"之间的内容就是私钥的Base64编码。签写证书的实体的 X.500 名称。对于私钥文件,真正的私钥是包含在字符串"-----BEGIN PRIVATE KEY-----"和字符串"-----END PRIVATE KEY-----"之间。从Certificate开始到“-----BEGIN CERTIFICATE-----”为止,中间的内容是证书的明文格式。

2024-04-05 15:08:09 793

原创 SpringBoot整合MyBatis四种常用的分页方式

扩展:PageHelper.startPage(int PageNum,int PageSize):用来设置页面的位置和展示的数据条目数,我们设置每页展示5条数据。PageInfo用来封装页面信息,返回给前台界面。PageInfo中的一些我们需要用到的参数如下表:

2024-04-05 14:22:48 1153

原创 Idea显示无法自动装配。找不到‘ xxx’类型的Bean

当我们在使用@Autowired注解的时候,默认required=true,表示注入的时候bean必须存在,否则注入失败。-检查中找到如下位置,将选框中的 ‘√‘ 去掉。

2024-04-05 13:44:43 401

原创 Ubuntu中安装IDEA,并配置桌面快捷方式

这一步省略不说了。

2023-12-03 21:05:08 1853

原创 ubuntu使用SSH服务远程登录另一台设备

查看当前的ubuntu是否安装了ssh-server服务。默认只安装ssh-client服务。查看有没有的相关字眼。

2023-12-03 20:57:58 1062

原创 如何在Ubuntu上安装pip3

该命令将会下载并安装pip3。如果系统中已经安装了相应的依赖包,则下载速度将会很快,否则可能需要一些时间。在安装pip3之前,我们需要确保系统中的软件包索引是最新的。该命令将会更新系统中的软件包列表。这可能需要一些时间,取决于您的系统速度和可用的更新。首先,我们需要检查系统中是否已经安装了pip3。仍然需要验证pip3是否安装成功。否则,将看到一个错误消息,指示pip3未安装。

2023-12-03 20:50:05 1073

原创 Docker408错误:Error response from daemon: error parsing HTTP 408 response body: invalid character ‘<‘

【代码】Docker408错误:Error response from daemon: error parsing HTTP 408 response body: invalid character '

2023-12-03 20:48:24 1425 2

原创 Ubuntu20.0中安装Gradle

接下来我们会创建一个gradle.sh文件来保存Gradle的环境变量。显示上述内容就是安装成功。

2023-11-19 16:24:50 451

原创 ubuntu20.0安装 java并配置环境

我是从官网下载的JDK,可以自己去下载这是我上传的JDK11的Linux安装包。

2023-11-19 16:19:41 489

原创 Web3面试最常见的10个问题

智能合约是运行在区块链上的自动化合约程序,它具有以下特征1. 智能合约包含了合约参与各方的权利和义务,代码形式实现。2. 智能合约存储和运行在区块链网络上,依赖区块链的分布式节点共识来执行。3. 智能合约的执行是自动化和自主化的,当满足了预设条件时即会自动触发执行。4. 智能合约代码和执行过程是透明可验证的。5. 智能合约可以处理各类业务逻辑,实现点对点价值转移,并可设置复杂条件。6. 智能合约可以让多方在缺乏信任基础上实现合作。

2023-09-05 12:56:46 773

原创 开发模式下的测试:简化链码的测试过程

先打开终端1窗口(当前终端)进人chaincode-docker-devmode目录下会发现与网络、通道、初始区块相关的所有内容。创建和连接通道的命令被嵌入CLI容器中,因此可以立即跳转到链码调用。

2023-07-05 10:16:01 290

原创 链码的打包与升级

通过将链码相关数据(如链码的名称、版本、实例化策略等信息)进行封装,可以实现对其进行打包和签名的操作。

2023-07-03 09:59:53 441

原创 链码的安装、实例化、查询、调用

背书节点需要由联盟的成员共同指定,然后在实例化链码时指定背书策略,但链码的安装一定要在所有预先指定的背书Peer节,点中进行。如果要发起交易,则需要开启TLS验证并指定对应的证书路径,且在调用相应链码函数时须根据不同的实际情况指定相应的所需参数。该命令会将链码的源代码打包并安装到对等节点的链码环境中,使其准备好在网络中部署和执行。该命令将在指定的通道上实例化指定版本的链码,并将初始化参数传递给链码的。该命令将在指定的通道上调用已实例化的链码,并将调用参数传递给链码的。

2023-07-02 16:16:40 799 1

原创 链码的相关概念

网链码一般是由开发人员使用Golang语言(也支持Java等语言)编写的,提供分布式账本的状态处理逻辑。链码被部署在Hyperledger Fabric的网络节点中,能够独立运行在具有安全特性的受保护的Docker容器中,以gRPC协议与相应的Peer节点进行通信,并操作(初始化或管理)分布式账本中的数据。可以根据不同的需求开发出不同的复杂的应用。在Hyperledger Fabric中,链码一般分为和。

2023-07-02 14:50:16 1206

原创 手动运行Hyperledger Fbric的示例——FabricSample

1、进入fabric-samples/first-network目录2、使用cryptogen工具为Hyperledger Fabric 网络生成指定拓扑结构的组织结构和身份证书5、生成应用通道交易配置文件:指定使用configtx.yaml配置文件中的TwoOrgsChannel模板来生成新建通道的配置交易文件(TwoOrgsChannel模板指定的Orgl和Org2两个组织都属于应用通道中的成员)。6、生成锚节点更新配置文件。

2023-07-02 14:09:11 469

原创 Hyperledger Fabric网络快速启动

由于要启动多个网络节点,Hyperledger Fabric采用了容器技术,所以需要一个简化的方式来集中化管理这些节点容器。我们使用docker-compose这个工具来实现一步到位的节点容器管理,而且只需要编写相应的配置文件即可。Hyperledger Fabric同样提供了docker--compose工具的示例配置文件,该配置文件在fabric-samples/first-network目录下,文件名称为docker-compose-.cli.yaml,打开这个配置文。

2023-07-02 10:54:48 1087

原创 Hyperledger Fabric核心配置文件(1)

core.yaml配置文件是Peer节点的示例配置文件,具体路径在目录下。该core.yaml示例配置文件共指定了如下六大部分内容。

2023-06-29 21:16:23 743

原创 Hyperledger Fabric交易流程分析

Orderer节点接收到事务请求之后,并不需要检查交易中的具体数据,只是从网络中的所有通道接收交易,按时间顺序对它们进行排序,并创建交易区块,之后广播给同一通道内所有组织的Leader节点,如下图所示。8、分类账本更新:每个Peer节点将区块附加到区块链中,写集被提交到当前的状态数据库中,且对于每个有效的事务,发出一个事件,通知客户端应用程序事务(调用)已被不可变地附加到中,以及通知该事务是否已经过验证或为无效事务。2、在交易提案中使用用户的加密凭据为此事务提案生成唯一的签名,之后将事务提交给背书节点。

2023-06-29 20:52:48 1032

原创 Hyperledger Fabric架构设计

在Hyperledger Fabric中,锚节点(Anchor Node)具有重要的作用。锚节点是网络中的特殊节点,用于维护和传播其他组织的区块链网络地址。以下是锚节点的几个主要作用:地址维护和传播:锚节点负责维护其他组织的网络地址信息。每个组织在Fabric网络中都有一个唯一的网络地址,当新的组织加入网络或者已有组织的网络地址发生变化时,锚节点会更新并广播这些地址信息给其他组织。跨组织通信:锚节点在跨组织的交互中起到关键作用。

2023-06-29 20:28:17 1211

原创 测试Hyperledger Fabric环境

首先进入fabric-samples目录中的first-networked 子目录在first-network目录下有一个自动化脚本byfn.sh,可以使用-help参数查看相应的可命令执行成功后,会在终端输出如下类似内容。

2023-06-29 20:05:45 745

原创 Hyperledger Fabric 安装环境配置答疑(1)

cURL还支持使用SSL证书,支持HTTP POST、HTTPPUT,支持FTP上传,以及基于HTTP表单的上传;支持Cookie,可以使用用户名+密码的方式实现认证(Basic、Plain、Digest、CRAM-MD5、NTLM、Negotiate和Kerberos)等。由于不同操作系统或各系统的不同版本可能会造成一些问题,所以在此推荐使用的操作系统为64位的Ubuntu16.04LTS。Docker是一个开源的应用容器引擎,可以为应用创建一个轻量级的、可移植的容器。荐使用1.13或更高版本。

2023-06-29 19:28:11 890

原创 论文阅读:一个可伸缩的存储方案使用历史区块链链上大数据

A Scalable Storage Scheme for On-Chain Big Data Using Historical Blockchains

2023-04-19 12:32:15 376 1

原创 农产品溯源系统遇到的坑(2)

考虑防火墙,端口白名单。

2023-03-29 21:52:11 465

原创 部署农产品溯源系统的步骤

因为本系统的区块链部分是完全按照最简单的来,比如共识是自带的solo,orderer节点是单节点,这些肯定都是不合理的,所以这个版本就单纯传达一个上层应用思想吧, 后续可能会在此思想上重新搭建一套能够投入使用的。执行node registerUser.js可能会安装失败,请删除一下hfc-key-store后重新执行,如果还是失败,可能就是npm install出问题。可能node版本问题安装会出一些问题,node10应该是没问题的。此处会安装可能会出现问题,具体问题可以百度。

2023-03-29 18:23:10 1544 2

原创 农产品溯源系统的坑(2)

依次执行这三条命令即可解决。

2023-03-29 17:52:25 643

原创 区块链系统:签名

签名算法是使用私钥签名,公钥验证的方法,对一个消息的真伪进行确认。如果一个人持有私钥,他就可以使用私钥对任意的消息进行签名,即通过私钥sk对消息message进行签名,得到signature签名的目的是为了证明,该消息确实是由持有私钥sk的人发出的,任何其他人都可以对签名进行验证。验证方法是,由私钥持有人公开对应的公钥pk,其他人用公钥pk对消息message和签名signature。

2023-03-24 06:00:00 1154

原创 区块链系统:出块原理

工作量证明是指,证明自己做了一定的工作量。例如,在驾校学习了50个小时。而其他人可以简单地验证该工作量。例如,出示驾照,表示自己确实在驾校学习了一段时间:比特币的工作量证明需要归结为计算机计算,也就是数学问题。如何构造一个数学问题来实现工作量证明?我们来看一个简单的例子。假设某个学校的一个班里,只有一个女生叫小红,其他都是男生。每个男生都想约小红看电影,但是,能实现愿望的只能有一个男生。到底选哪个男生呢?

2023-03-23 17:55:49 3936 2

原创 xshell,winscp,xftp无法用root用户登录

把PermitRootLogin Prohibit-password 添加#注释掉新添加:PermitRootLogin yes更改PermitEmptyPasswords为 no。

2023-03-23 15:40:25 1192

原创 Ubuntu如何安装Mysql启用远程连接

顺便说一下,因为不知道你们用的都是什么账户,我也搞不清楚哪些指令权限要求比较高,所以我所有指令都加sudo了,这样不管是谁复制粘贴都能直接用,不会出现权限问题。设置root密码此时mysql的root账户没有设置密码,可以直接用mysql指令登录:设置一下root的密码(退出,输入mysql。

2023-03-23 15:35:54 654

原创 Ubuntu20.04安装Redis并开启远程连接

注意:直接按上述安装redis,其redis.conf文件存储位置为:/etc/redis/redis.conf。

2023-03-23 15:28:12 732

原创 nodejs升级或降级

node有一个模块叫n,是专门用来管理node.js的版本。升级或降级步骤。

2023-03-23 15:18:53 419

原创 FDFS如何卸载

之前在安装FDFS的时候,有些.sample文件没有生成,我也不知道是不是安装的问题,所以只有是卸载重装,重装后,问题解决。

2023-03-23 15:12:52 671

Linux环境中的jdk11

安装JAVA11版本 这是jdk-11.0.20_linux-x64_bin.tar.gz

2023-11-19

北京大学肖臻老师《区块链技术与应用》-B分叉篇

北京大学肖臻老师《区块链技术与应用》公开课笔记

2022-11-27

《区块链技术与应用》课堂笔记(五):实现

《区块链技术与应用》课堂笔记(五):实现 源文件笔记和高清图片

2022-11-24

Xshell6相关软件及教程,主要是保存好软件

Xshell6相关软件及教程

2022-10-21

heyperledger fabric 入门教程(环境搭建,文件配置,详细教程)

heyperledger fabric 入门教程(环境搭建,文件配置,详细教程) 这个教程适合新手入门,教会了你如何搭建fabric 的环境,如何启动测试程序 如何手动搭建自己的第一个简单的fabric 网络, 如何设置配置文件等等

2022-07-03

VUE案例消扑克.zip

对应我的博客,VUE小案例。扑克消消乐。完整实现代码。 对应学习可以先下载我的上传的模板

2020-05-10

08-消扑克.zip

对应我的博客。VUE小案例:扑克消消乐。 这里发布的是没有实现的代码,就是页面模板,还没有实现。

2020-05-10

dom4j-1.6.1 和 jaxen-1.1.6 两个jar 包

你学习XML解析时用得到,,, 不收积分,, dom4j-1.6.1 和 jaxen-1.1.6 两个jar 包

2020-03-21

空空如也

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

TA关注的人

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