自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 创建Substrate 私有网络

创建Substrate 私有网络所有区块链都要求网络中的节点就消息集及其顺序达成一致,以成功创建区块并从一个区块推进到下一个区块。每个块代表特定时间点的数据状态,节点对状态的一致称为共识。有几种不同的算法用于达成共识,包括:工作量证明共识取决于验证者节点为将有效块添加到链中所做的计算工作。权益证明共识选择验证者根据他们锁定为网络中的权益的加密货币持有量将有效块添加到链中。权威共识证明依赖于一组经批准的账户身份来充当验证者。与已批准账户关联的节点有权将交易放入区块中。Substrate 节点模板

2022-02-25 17:32:55 9427 5

原创 创建第一个 Substrate 区块链

创建第一个 Substrate 区块链区块链软件使单个计算机(称为节点)能够相互通信以形成分散的点对点 (P2P) 网络。为保证链上数据的安全和链上的持续进展,节点通过某种形式的共识,就每个数据块中的数据状态以及块的处理顺序达成一致。安装所需的软件包OSInstallation commandsUbuntu or Debiansudo apt update && sudo apt install -y git clang curl libssl-dev llvm

2022-02-25 17:16:15 8860

原创 IPFS-Cluster 搭建流程

IPFS-Cluster 搭建流程准备工作拉取代码:git clone https://github.com/ipfs/go-ipfs.gitgit clone https://github.com/ipfs/ipfs-cluster.gitgo get -u github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen编译代码(也可直接github从releases上下载可执行二进制文件)#ipfscd go-ipfs/cm

2021-11-08 18:23:26 12814

原创 DID 去中心化数字身份

DID 去中心化数字身份身份国际电子技术委员会将“身份”定义为“一组与实体关联的属性”。这里的实体不仅仅是人,对于机器或者物体都可以是实体,甚至网络中虚拟的东西也可以是实体并拥有身份。数字身份随着互联网的出现和普及,传统的身份有了另外一种表现形式,即数字身份。一般认为,数字身份的演进经历了四个阶段,分别是:中心化身份、联盟身份、以用户为中心的身份以及自 我主权身份。中心化身份是由单一的权威机构进行管理和控制的,现在互联网上的大多数身份还是中心化身份。联盟身份的出现解决了中心化身份中身份数据零碎

2021-08-31 14:41:28 11560

原创 Rust编写Near智能合约

先决条件Rust(安装指南,如果您想了解有关 Rust 的更多信息,请在此处查看本指南)NEAR CLI(安装指南)NEAR Testnet 帐户(如果您没有 testnet 帐户,请在此处查看本指南)设置要设置我们的项目,我们需要将 WASM (WebAssembly) 目标添加到我们的工具链中。要添加,我们需要在终端中运行以下命令:rustup target add wasm32-unknown-unknown终端输出:info: downloading component 'ru

2021-08-05 13:59:38 2073 2

原创 Dfinity(icp)中Motiko 基础语法-8

Motiko 基础语法Motoko 的设计力求最小化内置类型和操作。Motoko 没有提供内置类型,而是提供了一个基础模块库来处理多种常见操作并使语言感觉完整。这个基础库仍在不断发展,包含支持核心功能的模块,所有基础库 API 都会随着时间的推移而发生不同程度的变化。您应该特别注意,基础库中包含的模块和函数的大小和数量可能会急剧增加,对基础库模块的更新可能会引入重大更改,需要您更新程序以保持兼容。从基础库导入要从基础库导入,请使用import关键字,后跟本地模块名称和 URL,import声明可以

2021-06-25 17:03:07 1370

原创 Dfinity(icp)参考命令及规范-7

Dfinity参考命令及规范DFX命令DFINITY 命令行执行环境 ( dfx) 是用于创建、部署和管理您为 Internet Computer 区块链开发的应用程序的主要工具。您可以使用dfx带有不同标志和子命令的父命令来执行不同类型的操作。运行dfx命令的基本语法是:dfx [option] [subcommand] [flag]根据子命令,您指定的选项和标志可能适用于父命令或特定子命令。例如,用于启用或禁止详细日志记录的标志是dfx为父命令指定的,然后应用于任何子命令。安装 DFIN

2021-06-25 17:01:57 530

原创 Dfinity(icp)开发问题及解决方案-6

Dfinity开发问题及解决方案本节提供的信息可帮助您对与以下任务相关的常见问题进行故障排除和解决或变通:下载并安装 DFINITY Canister SDK创建、构建或部署容器使用dfx命令行界面在开发环境中本地运行 Internet 计算机网络确保节点在项目中可用因为项目依赖webpack为默认前端提供框架,所以你必须已经node.js安装在你的开发环境中并且可以在项目目录中访问。如果您想在不使用默认 webpack 配置和容器别名的情况下开发您的项目,您可以assets从dfx

2021-06-25 17:00:46 449

原创 Dfinity(ICP)基础开发教程-5

Dfinity 基础开发教程教程概述快速启动提供了没有停下来欣赏沿途的风景部署简单的默认应用程序快速路径。此文章介绍了特定场景,并指出了在每个步骤中执行的操作和详细信息。如果快速入门和教程不完全符合您的风格,此概览备忘单总结了要遵循的步骤以供快速参考。安装 DFINITY Canister SDK 后,您需要了解以下所有信息:创建一个新项目并切换到项目目录。dfx new <project_name> && cd <project_name>>

2021-06-25 16:59:53 1448 1

原创 Dfinity (ICP)开发基本操作-4

Dfinity 开发基本操作安装、升级或删除软件直接从终端安装最新的从终端 shell 下载和安装:在本地计算机上打开终端外壳。例如,在 macOS 上打开 Applications 文件夹,然后打开 Utilities 并双击Terminal。通过运行以下curl命令下载并安装 SDK 包:sh -ci "$(curl -fsSL https://sdk.dfinity.org/install.sh)"从终端安装特定版本如果要安装特定版本,例如,针对以前的版本进行测试,您可

2021-06-25 16:51:33 1897

原创 Dfinity(ICP)身份认证和账本快速入门-3

Dfinity身份认证和账本快速入门什么是Internet IdentityInternet Identity 使您可以在访问将其用作身份验证方法的应用程序时安全且匿名地进行身份验证。为您登录的每个应用程序创建不同的身份,您将能够使用所有已注册的设备或身份验证方法登录同一帐户。与大多数身份验证服务不同,您的 Internet 身份不需要您设置和管理密码或向应用程序提供任何个人身份信息。相反,您可以使用您创建的身份验证配置文件,例如智能手机的面部识别、计算机解锁密码或安全密钥。Internet Iden

2021-06-25 16:49:15 1757 2

原创 Dfinity(ICP) 部署与开发-2

Dfinity 部署与开发下载并安装目前,DFINITY Canister SDK 仅在装有 macOS 或 Linux 操作系统的计算机上运行!前提条件需要安装 nodejs直接从本地计算机上的终端 shell 中下载最新版本的 DFINITY Canister 软件开发工具包 (SDK)sh -ci "$(curl -fsSL https://sdk.dfinity.org/install.sh)"此命令会提示您在本地计算机上安装 DFINITY 执行命令行界面 (CLI) 及其依赖项之前

2021-06-25 16:47:06 730 1

原创 Dfinity(ICP)介绍-1

Dfinity介绍什么是Internet Computer在互联网电脑是blockchain,使开发人员,组织和企业家建造和部署安全,自主,和防篡改软件程序。作为应用程序开发人员,您可能会发现将 Internet 计算机视为提供以下关键元素很有用:一种开放的通信协议,使通用计算能够直接在互联网上透明地运行甲网络运行的协议来提供计算能力,例如,所需的硬件,CPU和存储器来运行程序,通过独立的数据中心。一个全局可访问的,可扩展的平台blockchain用于运行软件应用程序。开放区块链平台互联

2021-06-25 16:45:55 1425 3

原创 跨链协议IBC概述

跨链协议IBC概述一.什么是IBC?IBC是链间通信协议的缩写(Inter-Blockchain Communication Protocol)。通过数据包交换在多个不同的区块链网络之间转移数据和状态信息。最初的用途更多是通过IBC协议实现跨链通证转移。IBC的目标是在两个独立的七层网络之间传递应用信息,所以需要链外的relay把数据包在链A和链B的网络之间做中继。链B收到链A的数据后必须能独立验证它所包含的证明信息,该证明代表了链A上的某个状态(及其对应操作)的真实性。为了让IBC协议能够工作,必须

2021-02-18 16:57:37 4040

原创 cosmos-starport模块开发

starport模块开发目录结构Cosmos SDK的典型目录结构如下所示:x/{module}├── client│ ├── cli│ │ ├── query.go│ │ └── tx.go│ └── rest│ ├── query.go│ └── tx.go├── exported│ └── exported.go├── keeper│ ├── invariants.go│ ├── genesis.go│ ├

2021-02-18 16:54:47 601

原创 cosmos-starport应用案例

starport 应用案例存证编译好starport,开始构建应用案例构建项目可以通过运行来构建我们的应用程序starport app github.com/user/pofe。这将创建一个名为的新文件夹pofe(Proof of File Existence)starport app github.com/user/pofe --sdk-version launchpad运行程序搭建好应用程序之后,让我们在新创建的pofe文件夹中打开一个单独的终端窗口,然后运行starport serve

2021-02-18 16:53:29 894

原创 cosmos-starport 安装与启动

安装 Starport三个前提条件:Golang >=1.14Protocol Buffer compiler(https://grpc.io/docs/protoc-installation/)Node.js >=12.19.01.脚本获取二进制文件(科学上网)curl https://get.starport.network/starport! | bash2.macOS with Homebrewbrew install tendermint/tap/starport

2021-02-18 16:50:13 878 1

原创 amino 编码协议

amino是对象编码规范。它是Proto3的子集,具有接口支持扩展amino与Proto3很大程度上兼容(但与Proto2不兼容)amino 协议目标通过支持接口将奇偶校验分为逻辑对象和持久对象。具有唯一/确定性的值编码。二进制字节必须可以使用模式进行解码。模式必须是可升级的。没有模式,足够的结构必须可以解析。编码器和解码器逻辑必须相当简单。序列化必须合理紧凑。必须保持足够兼容的JSON格式(但不能与JSON进行一般转换)Amino vs JSONJavaScript Objec

2021-02-18 16:43:44 603

原创 Merkle DAG 和 Merkle Tree的区别

Merkle DAG 和 Merkle Tree的区别对于IPFS,Merkle DAG 和 Merkle Tree是两个很重要的概念。Merkle DAG是IPFS的存储对象的数据结构, Merkle Tree则用于区块链交易的验证。Merkle Tree通常也被称为哈希树(Hash Tree),就是存储哈希值的一颗树;而Merkle DAG是默克尔有向无环图的简称。二者有相似之处,也有一些区别。从对象格式上, Merkle Tree的叶子是数据块(例如,文件、交易)的哈希值。非叶

2020-06-30 14:42:03 1842

原创 数字证书及CA详解

文章目录1. 证书1.1 证书的应用场景1.2 证书标准规范X.5091.2.1 证书规范1.2.2 证书格式1.2.3 CA证书1.3 公钥基础设施(PKI)1.3.1 什么是公钥基础设施1.3.2 PKI的组成要素用户认证机构(CA)仓库1.3.3 各种各样的PKI2.Fabric - ca2.1 简介2.2 基本组件2.3 安装2.4 初始化&快速启动2.5 服务端配置文件解析2.6...

2019-08-30 16:11:00 80843 19

原创 Casbin权限模型

权限框架casbin1.概述Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。Casbin支持以下编程语言:Casbin可以做到:支持自定义请求的格式,默认的请求格式为{subject, object, action}。具有访问控制模型model和策略policy两个核心概念。支持RBAC中的多层角色继承,不止主体可以有角色,资源也可以具...

2019-08-16 16:30:48 25778 2

原创 Fabric-CA开发小常识

fabric-ca简要说明fabric-ca server端默认端口7054,支持REST、命令行两种方式进行交互,在fabric-ca中的三种证书类型登记证书(ECert):对实体身份进行检验通信证书(TLSCert):保证通信链路安全,对远端身份校验交易证书(TCert):颁发给用户,控制每个交易的权限启动时需要先 init 再 start 进行启动server端服务i...

2019-04-22 14:24:29 1070 3

原创 CA基本常识:X.509标准

在和CA进行一些接触时,我们常常会听到一个名词: X.509。它是一种行业标准或者行业解决方案,在X.509方案中,默认的加密体制是公钥密码体制。为进行身份认证,X.509标准及公共密钥加密系统提供了数字签名的方案。用户可生成一段信息及其摘要(亦称作信息"指纹")。用户用专用密钥对摘要加密以形成签名,接收者用发送者的公共密钥对签名解密, 并将之与收到的信息"指纹"进行比较,以确定其真实性。  此...

2019-03-18 16:44:39 2850

原创 在Linux上创建SSL证书颁发机构并在Windows AD中使用它

在工作中发现一个有用的东西,在很多公司网站广泛使用SSL,但对于我们生产系统,这意味着从广泛认可的证书颁发机构(如Verisign或Thawte)购买SSL证书,但对于我们开发系统,当有10个15个需要SSL的不同预生产环境时,它会变得非常昂贵。所以,这是一个不花钱的潜在解决方案。在Linux上构建您自己的CA,使用Microsoft的Active Directory将证书作为可信CA发布。我将...

2019-03-18 15:16:26 2297

原创 区块链+数字身份系统有哪几种形式应用

数字身份的作用和分类都是不一样的,需要循序渐进的搭建数字身份系统,现主要出现的数字身份系统有以下类别:内部管理在学校、企业等团体内部是数字身份应用最为广泛的。例如:用学生卡刷图书馆、吃饭、进入宿舍等都需要学生信息,而卡里面就包含本人全部身份信息,并且不同人的卡有着各不相同的权限。集中/联合认证简单来说就是通过外部的数字身份信息进行认证,主要体现在支付宝和微信的场景中,现代社会很多都用APP...

2019-03-07 17:28:01 3282

原创 Hyperledger composer部署区块链系统实战

Hyperledger composer 系统要求操作系统:Ubuntu Linux 14.04 / 16.04 LTS(均为64位)或Mac OS 10.12Docker Engine:版本17.03或更高版本Docker-Compose:版本1.8或更高版本节点:8.9或更高(不支持版本9及更高版本)npm:v5.xgit:2.9.x或更高Python:2.7.x使用脚本下...

2019-03-04 18:31:53 602

原创 NodeJs 实现keccak256运算和ECDSA数字签名

Keccak 256SHA3采用Keccak算法,在很多场合下Keccak和SHA3是同义词,但在2015年8月SHA3最终完成标准化时,NIST调整了填充算法,标准的SHA3和原先的Keccak算法就有所区别了。在早期的Ethereum相关代码中,普遍使用SHA3代指Keccak256,为了避免和NIST标准的SHA3混淆,现在的代码直接使用Keccak256作为函数名。ECDSA 签名算法...

2019-02-27 15:35:20 3736

原创 联盟链应用生态场景

联盟链:对特定的组织团体开放区块链联盟链是指有若干个机构共同参与管理的区块链,每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。私有链和联盟链之间的设计隐私权限会有不同,区块链联盟链中的权限设计要求往往会更为复杂。本质上联盟链属于私有链,只是私有化程度不同联盟链主要用户群体银行保险证券商业协会集团公司以及上下游企业等...

2019-02-27 15:22:11 8651

原创 关于区块链在存证方面的应用

区块链相对于传统文件存储节省中介交易成本​ 由于区块链使用的是去中心化分布式存储结构,所以在彼此之间并没有互信的基础上也可以使用规模比较大的协作工具,因此在很多传统中心化领域当中都可以使用区块链服务,并且去处理原来交由中介机构去处理的一些交易,从而降低中介交易造成的成本数据内容不可篡改​ 在使用传统分布式存储的时候可以会遭遇数据被追求和篡改的问题,一旦数据信息被...

2019-02-27 15:20:02 3937 1

原创 Go简单实现RPC和gRPC的调用

RPCRPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。简单来说,就是跟远程访问或者web请求差不多,都是一个client向远端服务器请求服务返回结果,但是web请求使用的网络协议是http高层协议,而rpc所使用的协议多为TCP,是网络层协议,减少了信息的包装,加快了处理...

2018-11-24 13:03:12 8636

原创 Protobuf介绍和安装

protoBuf简介protobuf是google旗下的一款平台无关,语言无关,可扩展的序列化结构数据格式。所以很适合用做数据存储和作为不同应用,不同语言之间相互通信的数据交换格式,只要实现相同的协议格式即同一 proto文件被编译成不同的语言版本,加入到各自的工程中去。这样不同语言就可以解析其他语言通过 protobuf序列化的数据。目前官网提供了 C++,Python,JAVA,GO等...

2018-11-23 19:20:40 269

原创 Hyperledger fabric共识与交易

Fabric 的共识过程包括 3 个阶段:背书、排序和校验。背书在背书( endorsement )阶段中,背书节点对客户端发来的交易预案进行合法性检验,然后模拟执行链码得到交易结果,最后根据设定的背书逻辑判断是否支持该交易预案。如果背书逻辑决定支持交易预案,它将把预案签名后发回给客户端。客户端通常需要根据链码的背书策略,向一个或者多个成员的背书节点发出背书请求。背书策略会定义需要哪些节点背...

2018-11-18 18:52:48 802

原创 在Hyperledger fabric中搭建小型Kafka集群

kafka集群部署1.准备工作名称IP地址Hostname组织结构zk1192.168.247.101zookeeper1zk2192.168.247.102zookeeper2zk3192.168.247.103zookeeper3kafka1192.168.247.201kafka1kafka2192.168.247...

2018-11-18 18:49:17 1210

原创 Hyperledger Fabric 1.2 Peer操作命令

1.创建通道$ peer channel create [flags], 常用参数为: `-o, --orderer: orderer节点的地址 `-c, --channelID: 要创建的通道的ID, 必须小写, 在250个字符以内 `-f, --file: 由configtxgen 生成的通道文件, 用于提交给orderer -t, --timeout: 创建通道的超时时长, 默认为...

2018-11-16 19:26:46 1635

原创 Hyperledger Fabric 1.2网络搭建

自己组建一个Fabric网路, 网络结构如下:排序节点 1 个组织个数 2 个, 分别为go和cpp, 每个组织分别有两个peer节点, 用户个数为3机构名称组织标识符组织IDGo学科org_goOrgGoMSPCPPorg_cppOrgCppMSP1. 生成fabric证书1.1 命令介绍$cryptogen --help1.2 证书的...

2018-11-16 19:17:42 646

原创 Hyperledger Fabric 1.2环境搭建

准备工作官方帮助文档:https://hyperledger-fabric.readthedocs.io/en/release-1.2/安装 cURL(https://curl.haxx.se/download.html),curl --version 查询版本安装docker,docker --version 查询版本安装docker-compose,docker-compose -...

2018-11-12 18:18:08 1648

原创 Docker的none模型实战

none网络模式,是一种自由度非常高的网络模式,我们可以最大化的自定义我们想要的网络none案例–自定义桥接网络配置自定义桥接网络案例 为了使本地网络中和Docker容器更方便的通信,我们经常会有将Docker容器配置到和主机同一网段,而且还要指定容器的ip地址。需求: 自定义容器网络和宿主机为同一网段,容器ip可以指定。案例分析:一、自定义容器网络段和宿主机一样二、自定义容器ip...

2018-11-09 18:44:43 532

原创 docker服务的基本操作(2)

Docker容器的进入和退出创建容器并且进入格式 :docker run --name 【容器名称】 -it 【依赖的镜像名称】 /bin/bashdocker run -it --name panda-nginx nginx /bin/bash 手动进入容器格式 :docker exec -it 【容器id】 /bin/bashdocker exec -it panda-nginx...

2018-11-08 22:02:05 174

原创 docker服务的基本操作(1)

Systemctl [参数] dockerStop 停止Start 启动Restart 重启参数 :status 状态Docker镜像 搜索 获取 查看搜索 :搜索 Docker hub 中的镜像格式 :docker search [镜像名称 ]docker search ubuntu docker search nginx 获取 :获取 Dockerhub中的镜像格式 :...

2018-11-08 21:50:10 227

原创 Docker的环境安装

ubuntu 环境需求ls -l /sys/class/misc/device-mapper要求有此软连接部署docker//安装基本软件apt-get updateapt-get install apt-transport-https ca-certificates curl software-properties-common lrzsz -y使用阿里云的源{推荐}cur...

2018-11-06 20:50:55 206

空空如也

空空如也

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

TA关注的人

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