随着5G、物联网、大数据、区块链等新技术的发展,我们迎来了数字经济时代,随之而来的是是大量数据的的产生和存储刚需,云存储市场因此蓬勃发展。但当今以亚马逊、阿里云为代表的主流中心化存储方案并不能给数据的生产者带来收益,还时不时出现严重的隐私泄露问题,甚至有可能被单点攻击造成数据永久性丢失。人们开始意识到将数据去中心存储增加安全性的重要。用户对数据的使用权和收益权的意识开始被唤醒。区块链、游戏、VR和5G网络这些基础设施的进步给web3的到来提供了基础和保障。 对于大部分人来说,元宇宙、NFT和区块链都只是一些虚无缥缈的东西,除了显卡价格以外,它们不会对我们的现实生活产生什么影响。炒虚拟币赚了自然...

  6WDFuiiGwNIX   2023年11月02日   77   0   0 NFT区块链web3

Web3简介 中心化网络已经帮助数十亿人融入了互联网,并在其上创建了稳定、可靠的基础设施。与此同时,少数中心化巨头几乎垄断了互联网,甚至可以为所欲为。 Web3是摆脱由中心化导致互联网巨头形成垄断这一困境的有效方案。 不同于科技巨头垄断的传统互联网,Web3采用去中心化,整个网络和网络上的内容由所有用户构建、运营和拥有。 Web3将权力赋予每一个个体而非公司。 在我们讨论Web3之前,先来看看我们的互联网是如何发展到这一步的。 早期的网络 大多数人认为互联网是现代生活的一个持续支柱—自发明出来后就一直存在。 然而,我们今天大多数人所熟知的互联网与最初的想象有很大不同。 为了便于理解,可以将过去...

  6WDFuiiGwNIX   2023年11月02日   99   0   0 Ethereum区块链web3btc

上一讲,我们讲到了WEB3的定义以及互联网从WEB1、WEB2、到WEB3的变迁,课程中,对WEB3的描述里,有一个重要的概念,就是区块链技术,可以说,如果没有区块链技术,也就不会有WEB3。 区块链技术是实现去中心化的核心技术,这一讲,我们来谈谈区块链。 区块+链 区块链定义 区块链,顾名思义,就是一个又一个区块组成的链条。 每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。 这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。 这些服务器在区块链系统中被称为节点,它们为整个区块链系统提供存储空间和算力支持。如果要修改区块链中的信...

  6WDFuiiGwNIX   2023年11月02日   57   0   0 数据区块链公链联盟链

Hash 主要是用于消息摘要和签名。开发中经常使用的MD5和SHA都是历史悠久的Hash算法。 特点 从hash值不可以反向推导出原始的数据 输入数据的微小变化会得到完全不同的hash值 相同的数据会得到相同的值 执行效率要高效,长的文本也能快速地计算出哈希值 hash算法的冲突概率要小 用md5做个测试 md5-s"helloWorld"MD5("helloWorld")=39d11ab1c3c6c9eab3f5b3675f438dbfmd5-s"helloworld"MD5("helloworld")=5eb63bbbe01eeed093cb22bb8f5acdc3 可以看...

  6WDFuiiGwNIX   2023年11月02日   49   0   0 数据区块链

十年前,当雷曼兄弟宣布破产,全球经济陷入衰退之时,一种叫做比特币的新型加密货币的想法正在悄然酝酿。而在这十年的光景里,比特币在互联网上由一股反权威的风潮成功变成了一个价值数十亿美元的市场;同时它也从程序员间的一种爱好演变成了一个家喻户晓的名字。 在这短短的十年里,币圈几经浮沉。有人为了推动比特币的发展,甘愿错过上亿的家产;有人沉迷于比特币带来的财富,不惜踏入违法的禁地;更有人陷入渴望实现财务自由的焦虑,终日沉迷于一夜暴富的幻想...... 这些人构成了比特币的十年图谱,记录着它改变世界的轨迹。 如果今天我对你说,比特币给这个世界带来了巨大的改变,你一定认为我夸大其词,空口无凭。那么,接下来我将...

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

比特币系统里面如何验证某个比特币是谁的,谁拥有这个比特币。 我们还是先对标一下银行系统来理解这个问题。 银行系统 中心化银行中我们在刷卡的时候,需要提供银行卡号和密码,如果匹配,就可以进行支付。这时候如果出现盗刷怎么办呢。我们肯定是立刻报警,然后银行就会核对账户的所有者是不是我。银行核对的过程,需要借助开户时的我们提供的个人信息。 其实就是在开户的时候确定了账户的所有权,在确定了这个所有权之后,然后才是转账的操作。如果银行确定了某一笔支付不是本人操作的,则银行会撤销这笔记账 比特币系统 而在比特币系统里,是点对点的交易,在没有第三方的情况下,确定账号的所有权。账户是用一个地址来标示的,转账的...

  6WDFuiiGwNIX   2023年11月02日   126   0   0 银行系统区块链

概览 以太坊是一种用于在不受中心化监管机构管控的环境下构建应用程序和组织、持有资产、进行交易和通信的技术。使用以太坊时无需提供任何个人详细信息,用户控制自己的数据以及共享内容。以太坊有自己的加密货币—以太币,用以支付在以太坊网络上进行特定活动的费用。 简而言之,以太坊背后的核心思想是:开发人员可以在分布式网络中创建并运行代码,无需使用中央服务器。因此,这些应用程序在理论上不会被关停或受到审查。 还不明白?让我们来一步一步详细解释。 人物介绍 维塔利克·布特林(VitalikButerin),1994年出生在俄罗斯莫斯科郊外的一个小镇,后来移民加拿大,在多伦多长大。以太坊发明人。4岁编程.12...

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

Gas Gas中译是:瓦斯、汽油,代表一种可燃气体。这形象地比喻以太坊的交易手续费计算模式,不同于比特币中直接支付比特币作为转账手续费,以太坊视为一个去中心化的计算网络,当你发送Token、执行合约、转移以太币或者在此区块上干其他的时候,计算机在处理这笔交易时需要进行计算消耗网络资源,这样你必须支付燃油费购买燃料才能让计算机为你工作。最终燃料费作为手续费支付给矿工。 与比特币不同的是,无论交易成功与否,你都需要为此支付燃料费。这是因为即使交易失败,矿工依旧为此交易进行校验和计算,消耗了资源。同时你也无法在钱包中直接设置支付多少燃料费,因为实际燃料费是矿工根据计算得出的,并记录在包含此交易的区块...

  6WDFuiiGwNIX   2023年11月02日   55   0   0 Ethereumsed智能合约

密码学是以太坊的技术基石。在计算机安全领域有广泛应用 这些知识既包括对信息的转换、加解密,以及校验过程,也包括以太坊地址和交易Hash,交易信息RLP编码、基于椭圆曲线公私钥签名、区块Merkle树交易 Merkle树结构 (又叫哈希树)是一种典型的二叉树结构,由一个根节点、一组中间节点和一组叶节点组成。默克尔树最早由MerkleRalf在1980年提出,曾广泛用于文件系统和P2P系统中。 其主要特点为: 最下面的叶节点包含存储数据或其哈希值; 非叶子节点(包括中间节点和根节点)都是它的两个孩子节点内容的哈希值。 快速比较大量数据 对每组数据排序后构建默克尔树结构。当两个默克尔树根相同时,...

  6WDFuiiGwNIX   2023年11月02日   55   0   0 密码学数据区块链树结构

Remix是以太坊智能合约编程语言SolidityIDE,其实基于浏览器的IDE,有一个很大的好处就是不用安装,打开即用。 在线Remix访问缓慢,如果你有很好的网络环境,可以直接访问Remix​​官网​​​​https://remix.ethereum.org/​​。 也可以本地部署一套。 在本地部署Remix需要准备两个东西:一个是Remix-project,可以理解为Remix的前端;另一个是Remixd,可以理解为Remix的后端,它们的Github仓库地址分别是: ​​https://github.com/ethereum/remix-project​​ ​​https://gith...

  6WDFuiiGwNIX   2023年11月02日   57   0   0 区块链DockerRemixweb3ide

solidty跟javascript有一定的相似 认识一个最简单的存储合约 让我们先看一下最基本的例子。现在就算你都不理解也不要紧,后面我们会有更深入的讲解。 //SPDX-License-Identifier:GPL-3.0pragmasolidity>=0.7.0<0.9.0;contractStorage{uint256number;functionset(uint256_num)public{number=_num;}functionget()publicviewreturns(uint256){returnnumber;}} 第一行是说明源代码是根据GPL3...

  6WDFuiiGwNIX   2023年11月02日   49   0   0 Solidity数据库区块链编译器ide

1.创建合约文件 点击新建文件按钮创建一个名为​​Storage.sol​​的文件 注意命名规范采用大驼峰方式,文件首字母大写,合约名称要合文件名保持一直 2.编写合约代码 将演示代码贴到右侧编辑器中 3.保存合约文件 点击箭头或按​​Ctrl+S​​进行保存 4.合约编译 编译后效果 5.合约部署 合约部署好以后我们会看到以下效果 点击 ,可以复制合约地址,在开发中会经常使用。点击 ,清空全部已部署合约记录。 点击,删除当前合约记录。 如果记录了合约地址可以通过点击AtAddress恢复合约记录 6.合约测试

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

  6WDFuiiGwNIX   2023年11月02日   55   0   0 Ethereum自定义类型区块链EVMweb3

getter类型的函数可以被view或者pure修饰。view修饰的函数不能改变状态变量。pure则既不能改变状态变量,也不取读取状态变量。 //SPDX-License-Identifier:MITpragmasolidity^0.8.0;contractViewPureTest{uintpublicx=1;//不能改变状态变量.functionaddToX(uinty)publicviewreturns(uint){returnx+y;}//函数中没有任何状态变量出现。functionadd(uinti,uintj)publicpurereturns(uint){returni+j;...

  6WDFuiiGwNIX   2023年11月02日   33   0   0 SoliditypureEthereum区块链web3

Solidity是一种静态类型语言,这意味着每个变量(状态变量和局部变量)都需要在编译时指定变量的类型。 Solidity提供了几种基本类型,并且基本类型可以用来组合出复杂类型。 除此之外,类型之间可以在包含运算符号的表达式中进行交互。 “​​undefined​​​”或“​​null​​​”值的概念在Solidity中不存在,但是新声明的变量总是有一个默认值,具体的默认值跟类型相关。要处理任何意外的值,应该使用错误处理来恢复整个交易,或者返回一个带有第二个​​bool​​值的元组表示成功。 bool/布尔类型 布尔值的取值范围为true和false。 默认值:​​false​​ p...

  6WDFuiiGwNIX   2023年11月02日   52   0   0 SolidityEthereum数组区块链web3

//SPDX-License-Identifier:MITpragmasolidity^0.8.13;contractFunction{//多返回值函数functionreturnMany()publicpurereturns(uint,bool,uint){return(1,true,2);}//可以命名返回值//0:uint256:x1//1:bool:btrue//2:uint256:y2functionnamed()publicpurereturns(uintx,boolb,uinty){return(1,true,2);}//返回值可以指定给其名称//在这种情况下,可以省略re...

  6WDFuiiGwNIX   2023年11月02日   64   0   0 SolidityEthereum区块链web3ide

常量Constants 常量是不能修改的变量。 它们的值是硬编码的,使用常量可以节省gas成本。 //SPDX-License-Identifier:MITpragmasolidity^0.8.13;contractConstants{//codingconventiontouppercaseconstantvariablesaddresspublicconstantMY_ADDRESS=0x777788889999AaAAbBbbCcccddDdeeeEfFFfCcCc;uintpublicconstantMY_UINT=123;} 不可变变量Immutable 不可变变量就像常...

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

Assert,Require,Revert 错误将撤消事务期间对状态变量所做的所有更改。 assert:消耗掉所有剩余的gas,并恢复所有的操作 require(false)和revert():将退还所有剩余的gas,同时可以返回一个值(自定义的报错信息) 一般来说,使用assert()的频率较少,通常用于函数的结尾 以下三个方法最终效果相同: //SPDX-License-Identifier:MITpragmasolidity^0.8.13;contractError{functiontestRequire(uint_i)publicpure{require(_i>10,"In...

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

入参 与变量的定义方式一致,稍微不同的是,不会用到的参数可以省略变量名称: //SPDX-License-Identifier:MITpragmasolidity^0.8.0;contractSimple{functioninput(uint_a,uint)public{//dosomethingwith_a.}} 出参 多返回值 //SPDX-License-Identifier:MITpragmasolidity^0.8.0;contractSimple{functionoutput(uint256_a,uint256_b)publicpurereturns(uint25...

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

支持​​if,else,while,do,for,break,continue,return,?:。​​ //SPDX-License-Identifier:MITpragmasolidity^0.8.0;contractSimple{functionoutput(uint256_a,uint256)publicpurereturns(uint256){for(uint256i=0;i<10;i){if(i3){continue;}elseif(i4){break;}elseif(i5){return_a1?_a+1:_a1;}else{return_a+2;}}//do{}whi...

  6WDFuiiGwNIX   2023年11月02日   42   0   0 SolidityEthereum区块链web3
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~