介绍 HyperledgerFabric是分布式账本解决方案的平台,采用模块化架构,提供高安全性、弹性、灵活性和可扩展性。它被设计为支持以可插拔方式实现不同组件,并适应复杂的经济生态系统。 我们建议新用户先浏览本文后面的内容,以熟悉区块链的工作方式以及HyperledgerFabric的特性和组件。 什么是区块链? 一个分布式账本 区块链网络的核心是一个分布式账本,记录网络上发生的所有交易。 区块链账本通常被描述为去中心化的,因为它会被复制到许多网络参与者中,每个参与者都在协作维护账本。我们将看到去中心化和协作是强大的属性,反映了企业在现实世界中交换商品和服务的方式。 除了”...

  6WDFuiiGwNIX   2023年11月02日   88   0   0 区块链智能合约联盟链Fabric

启动测试网络 1.拉代码gitclonehttps://github.com/hyperledger/fabric-samples.git2.进入目录cdfabric-samples/test-network启动网络并创建通道./network.shupcreateChannel 将这些二进制文件添加到您的CLI路径: exportPATH=${PWD}/../bin:$PATH 导入环境变量 设置​​org1,org2​​的环境变量 exportFABRIC_CFG_PATH=$PWD/../config/EnvironmentvariablesforOrg1...

  6WDFuiiGwNIX   2023年11月02日   19   0   0 区块链Hyperledger联盟链Fabricpeer

当我们开始开发DApp,托管智能合约需要你建立一个你想托管它们的区块链节点,但这个过程不仅对刚刚开始Web3之旅的人来说很复杂;它也可能很耗时,需要大量的处理能力来完成。 这就是Infura和Alchemy这样的平台所要解决的问题。从本质上讲,它们是节点提供者;也就是说,它们提供对区块链服务的远程访问,所以你不必运行自己的节点。 Alchemy 什么是Alchemy? 官网:​​https://www.alchemy.com/​​ 支持的网络 Alchemy平台支持在Ethereum第一层主网以及Rinkeby、Goerli、Kovan和Ropsten网络等测试网开发DApp。 此外,Alch...

  6WDFuiiGwNIX   2023年11月02日   29   0   0 baasEthereum区块链web3API

变量 局部变量 在函数内部声明 不存储到链上 状态变量 在函数外部声明 状态变量是永久地存储在链上的值。 全局变量 提供有关区块链的信息 //SPDX-License-Identifier:MITpragmasolidity^0.8.13;contractVariables{//Statevariablesarestoredontheblockchain.stringpublictext="Hello";uintpublicnum=123;functiondoSomething()public{//Localvariablesarenotsavedtotheb...

  6WDFuiiGwNIX   2023年11月02日   23   0   0 SolidityEthereum区块链web3

准备阶段 在我们开始之前,如果您还没有这样做,您可能希望检查以下所有先决条件是否已安装在您将开发区块链应用程序或运行HyperledgerFabric的平台上。 安装Git 如果还没安装,下载最新版本的​​git​​,或者你运行curl命令有问题。 安装cURL 如果尚未安装cURl或在服务器上运行curl命令出错时请下载最新版本的​​cURL​​工具。 Docker和DockerCompose 您将需要在将要运行或基于HyperledgerFabric开发(或开发HyperledgerFabric)的平台上安装以下内容: MacOSX,nix或Windows10:要求​​Docker...

  6WDFuiiGwNIX   2023年11月02日   42   0   0 fabirc区块链智能合约联盟链web3

效果预览 项目的视频教程部分已经发布到了b站 ​​https://space.bilibili.com/391924926/channel/seriesdetail?sid=2745034​​ 初始化状态 添加 删除 开发环境准备 系统环境 Remix Ganache nodejs最新版 metamask 开发框架 vue-cli脚手架 web3.js element-ui vue-cli脚手架创建工程 vuecreatemy-node VueCLIv5.0.1┌──────────────────────────────────...

  6WDFuiiGwNIX   2023年11月02日   55   0   0 SolidityVue区块链Dappweb3

这个话题会在概念层面上描述HyperledgerFabric是如何让组织间以区块链网络的形式进行合作的。如果你是一个架构师,管理员或者开发者,你可以通过这个话题来理解在HyperledgerFabric区块链网络中的主要结构和处理组件。这个话题会使用一个可管理的工作的例子来介绍在一个区块链网络中的主要组件。理解了本例之后你可以阅读更多关于这些组件的详细信息,或者尝试构建一个示例网络。 当阅读完这个话题并且理解策略的概念后,你就能够完全理解组织在建立管控一个部署的HyperledgerFabric网络而需要做的决策。你也能够理解组织是如何使用定义的策略来管理网络的演变的,策略是Hyperledg...

  6WDFuiiGwNIX   2023年11月02日   32   0   0 区块链智能合约Fabricweb3

IPFS介绍 IPFS的全称是InterPlanetaryFileSystem星际文件系统,是一个点对点的网络超媒体协议。它的目标是成为更快、更安全、更开放的下一代互联网。 IPFS尝试解决HTTP目前存在的四个问题: 服务低效,成本高。这也是大部分P2P服务比中心化服务器优秀的地方。 网络服务受限于供应商,文件具有无法永久保存的风险,更无法历史回溯。 中心化的网络权力过于集中,网络控制和监管某些程度上限制了科技创新。 互联网服务大多依赖于骨干网络,一旦宕机大部分服务将无法使用。 IPFS的野心是取代现在的HTTP,去创建一个全新的去中心化网络。 在IPFS网络上,每个IPFS上的文...

  6WDFuiiGwNIX   2023年11月02日   98   0   0 HTTP区块链ipfsweb3服务器

目前更值得我们关注的是,IPFS协议从2015年1月发布至今已经五个年头了,技术也越来越成熟,作为下一代互联网底层通信协议,IPFS已经成功应用在数据存储、文件传输、网络视频、社交媒体、去中心化交易等各个领域,这些APP、应用、平台,正在重构整个互联网。 下面整理并介绍部分的IPFS应用场景,大家可以参与或尝试使用,为构建IPFS生态贡献自己的一份力量! 搜索引擎 Brave浏览器 Brave可以说是一举成名的浏览器,一经发布就席卷了市场,并在浏览器市场及Cropto货币领域获得关注。Brave以保护隐私闻名,它的创始人是BrendanEich,他是Mozilla的联合创始人,还是Java的...

  6WDFuiiGwNIX   2023年11月02日   21   0   0 点对点区块链ipfsweb3

Solidity中的数字生成是在Solidity智能合约中创建随机数的过程。这可用于各种目的,例如为对象生成唯一ID、在游戏中创建随机结果或选择随机参与者进行抽奖。 数字生成是Solidity的一个重要特性,因为它允许智能合约具有更大的灵活性和功能。 要在Solidity中生成随机数,请按照以下步骤操作:  1.创建一个​​RandomNumber​​合约 //SPDX-License-Identifier:MITpragmasolidity^0.8.0;contractRandomNumber{} 2.创建一个名为的函数​​generateRandomNumber​​​...

接触区块链的同学,多少都听说过拜占庭将军问题,经常看到或听到某某区块链使用某某算法解决了拜占庭将军问题,那么究竟什么是拜占庭将军问题呢? 什么是拜占庭将军问题 也被称为“拜占庭容错”、“拜占庭将军问题”。拜占庭将军问题是LeslieLamport(2013年的图灵讲得主)用来为描述分布式系统一致性问题(DistributedConsensus)在​​论文​​中抽象出来一个著名的例子。 这个例子大意是这样的: 拜占庭帝国想要进攻一个强大的敌人,为此派出了10支军队去包围这个敌人。这个敌人虽不比拜占庭帝国,但也足以抵御5支常规拜占庭军队的同时袭击。这10支军队在分开的包围状态下同时攻@击。他们任一...

  6WDFuiiGwNIX   2023年11月02日   50   0   0 分布式系统区块链web3拜占庭

简单总结 创建一个标准方法来发布和检测智能合约实现的接口。 抽象的 在此,我们标准化以下内容: 如何识别接口 合约将如何发布它实现的接口 如何检测合约是否实现了ERC-165 如何检测合约是否实现了任何给定的接口 动机 对于一些“标准接口”,如​​ERC-20接口​​,有时查询合约是否支持该接口以及如果是,接口的版本是有用的,以适应合约交互的方式和。专门针对ERC-20,已经提出了版本标识符。本提案规范了接口的概念,规范了接口的标识(命名)。 规格 如何识别接口 对于此标准,接口是​​由EthereumABI定义的​​​一组函数选择器。这是​​Solidity的接口概念​​​和​​i...

  6WDFuiiGwNIX   2023年11月02日   41   0   0 SolidityEthereum区块链erc165web3

在区块链中,每一笔智能合约的运行,都要根据复杂度消耗一笔GAS费;如果你要将值写入存储,则需要花费很多。如果你只是使用堆栈,它的成本会低一些;智能合约solidity语言的编写,不仅要考虑安全,也要考虑语言的优化,在Ethereum上的交易gas是有上限的,特别是针对一些复杂业务的处理,有可能会导致gas超高,严重者导致此笔交易失败。 0、Struct结构    如果一个struct中有多个uint,则尽可能使用较小的uint,solidity会将这些uint打包在一起,从而占用较小的存储空间 1、选择变量数据类型    &nbsp...

  6WDFuiiGwNIX   2023年11月02日   56   0   0 SolidityEthereumGas智能合约web3

汇编相关知识介绍 什么是汇编? 任何以高级语言(例如C,Go或Java)编写的程序,在执行之前都将先编译为“汇编语言”。但是什么是汇编? 汇编(也称为汇编语言)是指可使用​​汇编器​​转换为机器代码的低级编程语言。汇编语言与物理机或虚拟机绑定,因为它们实现了指令集。一条指令告诉CPU执行一些基本任务,例如将两个数字相加。 这里示例的处理器是​​Intelx86​​或ARM。英特尔x86大约有​​1503​​条机器指令。它们是通常称为操作码。 理解虚拟机和栈 ETH虚拟机EVM有自己的指令集,该指令集中目前包含了144个操作码,详情参考​​Geth代码​​ 这些指令被Solidity语言&nbs...

Solidity简述 Solidity是Ethereum虚拟机(EVM)智能合约的语言。同时,我认为solidity是玩链上项目必备的技能:区块链项目大部分是开源的,如果你能读懂代码,就可以规避很多亏钱项目。 Solidity具有两个特点: 基于对象:学会之后,能帮你挣钱找对象。 高级:不会solidity,在圈内显得很low。 开发工具:remix 本教程中,我会用remix来跑solidity合约。remix是Ethereum官方推荐的智能合约开发IDE(集成开发环境),适合新手,可以在浏览器中快速部署测试智能合约,你不需要在本地安装任何程序。 网址:​​remix.ethereum....

Solidity中的变量类型 数值类型(ValueType):包括布尔型,整数型等等,这类变量赋值时候直接传递数值。 引用类型(ReferenceType):包括数组和结构体,这类变量占空间大,赋值时候直接传递地址(类似指针)。 映射类型(MappingType):Solidity里的哈希表。 函数类型(FunctionType):Solidity文档里把函数归到数值类型,但我觉得他跟其他类型差别很大,所以单独分一类。 我们只介绍一些常用的类型,不常用的不讲。这篇介绍数值类型,第3讲介绍函数类型,第4讲介绍引用和映射。 数值类型 1.布尔型 布尔型是二值变量,取值为true或false。 ...

Solidity中的函数 solidity官方文档里把函数归到数值类型,但我觉得差别很大,所以单独分一类。我们先看一下solidity中函数的形式: function<functionname>(<parametertypes>){internal|external|public|private}[pure|view|payable][returns(<returntypes>)] 看着些复杂,咱们从前往后一个一个看(方括号中的是可写可不写的关键字): function:声明函数时的固定用法,想写函数,就要以function关键字开头。 &lt...

这一讲,我们将介绍Solidity函数输出,包括:返回多种变量,命名式返回,以及利用解构式赋值读取全部和部分返回值。 返回值return和returns Solidity有两个关键字与函数输出相关:return和returns,他们的区别在于: returns加在函数名后面,用于声明返回的变量类型及变量名; return用于函数主体中,返回指定的变量。 //返回多个变量functionreturnMultiple()publicpurereturns(uint256,bool,uint256[3]memory){return(1,true,[uint256(1),2,5]);} ...

Solidity中的引用类型 引用类型(ReferenceType):包括数组(array),结构体(struct)和映射(mapping),这类变量占空间大,赋值时候直接传递地址(类似指针)。由于这类变量比较复杂,占用存储空间大,我们在使用时必须要声明数据存储的位置。 数据位置 solidity数据存储位置有三类:storage,memory和calldata。不同存储位置的gas成本不同。storage类型的数据存在链上,类似计算机的硬盘,消耗gas多;memory和calldata类型的临时存在内存里,消耗gas少。大致用法: storage:合约里的状态变量默认都是storage,存...

这一讲,我们将介绍solidity中的两个重要变量类型:数组(array)和结构体(struct)。 数组array 数组(Array)是solidity常用的一种变量类型,用来存储一组数据(整数,字节,地址等等)。数组分为固定长度数组和可变长度数组两种: 固定长度数组:在声明时指定数组的长度。用T[k]的格式声明,其中T是元素的类型,k是长度,例如: //固定长度Arrayuint[8]array1;bytes1[5]array2;address[100]array3; 可变长度数组(动态数组):在声明时不指定数组的长度。用T[]的格式声明,其中T是元素的类型,例如: ...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~