当前位置: 首页 > news >正文

区块链+Web3学习笔记

学习资料来源于B站:

17小时最全Web3教程:ERC20,NFT,Hardhat,CCIP跨链_哔哩哔哩_bilibili

该课程提供的Github代码地址,相关资料详见README.md:

Web3_tutorial_Chinese/README.md at main · smartcontractkit/Web3_tutorial_Chinese · GitHub

一、区块链技术

简史

比特币提出 -> 以太坊协议(提出智能合约)  -> 

比特币协议不是图灵完备的,但是以太坊协议是图灵完备的。

比特币的设计哲学:系统简单,使用简洁的脚本语言减少了复杂性,使得系统更易于理解、维护和审计。

以太坊协议:

        DeFi(Decentralized Finance):去中心化金融,指利用区块链技术和智能合约构建的一系列金融服务和产品。

        预言机:将区块链系统外的数据以去中心化的方式写入智能合约中。

        NFT(Non-Fungible Token):非同质化通证,一项通证编程标准,用语承载业务逻辑

        跨链:不同区块链之间的智能合约进行相互操作。

区块链设计哲学:区块链是一个点对点的分布式系统,去中心化,共识,女巫攻击。

其他的共识方法:PoW、PoS、PoA、PoH、PBFT

PoS:权益证明

PoW:工作量证明

女巫攻击解决方法:

        比特币网络:

        需要解决复杂的数学难题来添加交易,这个过程需要大量计算资源和时间,确保只有具备足够计算能力的人才才能参与区块链的维护,提升不诚实节点的作恶资本。

        解决这个数学难题的过程就叫挖矿,提供计算资源的叫矿机。

        以太坊网络:

        以太坊merge,以太坊的共识方式从PoW转变为PoS,这个事件成为Merge(合并)

        PoS挖矿过程:不再进行计算数学难题进行挖矿,而是通过抵押资产进行添加交易,错误提交时,会进行罚款,正确提交则获得区块奖励。

特点:安全性高、效率低 

Web3:面向资产的互联网

Web1:只读

Web2:可读可写

Web3:可读可写可拥有

在Web3中 : 有所有权的数据 = 资产

智能合约简介

以太坊智能合约:

        以太坊的智能合约是一种自执行的合约,合同条款直接写入代码中,并在区块链网络上运行。它们自动执行和强制执行合同中的条款和条件,无需第三方干预。

        特点:

        去中心化

        数据透明

        数据安全不可篡改

        消除交易对手风险

NFT、DeFi、DAO(去中心化自治组织)

        DAO:

        通过智能合约在区块链上运行的组织。DAO的决策和管理过程是去中心化的,由所有持有通证的成员共同参与和投票决定。将代码规则融入自治管理。

二、区块链技术学习

 1、发起第一笔交易

以太坊的账户类型

对于托管账户:即第三方管理你的账户,拥有你的一切资产。

对于自托管账户:自己管理自己的账户,但是如果丢失了账户(私钥),意味着丢失了账户中的所有资产,获得你的账户就相当于获得了你的一切资产。

安装自托管钱包

安装METAMASK:网址: meatmask.io

相关文章:

区块链+Web3学习笔记

学习资料来源于B站: 17小时最全Web3教程:ERC20,NFT,Hardhat,CCIP跨链_哔哩哔哩_bilibili 该课程提供的Github代码地址,相关资料详见README.md: Web3_tutorial_Chinese/README.md at main sm…...

Redis: 集群高可用之节点与插槽管理

概述 Redis Cluster 集群模式,它使用的是分片来存储数据的,数据都存在多个节点上。而且使用了哈希槽这样的机制,它内部维护了 16384 个插槽那就是说每一个节点其实都具体的分布了一些槽,如果我们添加一个节点的话,槽总…...

HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例

HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例 在某地市的 XX 音乐节保障准备期间,为确保活动期间的网络质量,现场新开了 4.9G HUAWEI 室外基站。在网络优化和测试中,发现UE无法实现从 2.6G 到 4.9G 的正常切换。虽然现场具备 4.9G信号覆…...

Qt C++设计模式->责任链模式

责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许多个对象有机会处理请求,而不需要明确指定哪个对象处理。通过将这些对象连成一条链,请求沿着链传递,直到有对象处理它为止。该模式…...

paypal支付v2.0(php)支付代码

第一步&#xff1a;获取access_token: <?php$clientId ; // 替换为你的 PayPal Client ID $clientSecret ; // 替换为你的 PayPal Client Secret// PayPal API 请求的 URL $url "https://api-m.sandbox.paypal.com/v1/oauth2/token";// 初始化 cURL $ch …...

基于Python的自然语言处理系列(23):DrQA

在本篇文章中,我们将实现 DrQA 模型,该模型最初由论文 Reading Wikipedia to Answer Open-Domain Questions 提出。DrQA 是一种用于开放域问答系统的端到端解决方案,最初包括信息检索模块和深度学习模型。本次实现中,我们主要探讨 DrQA 的深度学习模型部分。 1. 数据加载 …...

誉天Linux云计算课程学什么?为什么保障就业?

一个IT工程师相当于干了哪些职业? 其中置顶回答生动而形象地描绘道&#xff1a; 一个IT工程师宛如一个超级多面手&#xff0c;相当于——加班狂程序员测试工程师实施工程师网络工程师电工装卸工搬运工超人。 此中酸甜苦辣咸&#xff0c;相信很多小伙伴们都深有体会。除了典…...

无人机控制和飞行、路径规划技术分析

无人机控制和飞行、路径规划技术是现代无人机技术的核心组成部分&#xff0c;它们共同决定了无人机的性能和应用范围。以下是对这些技术的详细分析&#xff1a; 一、无人机控制技术 无人机控制技术主要涉及飞行控制系统的设计、传感器数据的处理以及指令的发送与执行。飞行控…...

【C++】模拟实现红黑树

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:实战项目集 ⚙️操作环境:Visual Studio 2022 目录 一.了解项目功能 二.逐步实现项目功能模块及其逻辑详解 &#x1f4cc;实现RBTreeNode类模板 &#x1f38f;构造RBTreeNode类成员变量 &#x1f38f;实现RBTreeNode类构…...

离线安装docker

背景描述 项目需要在研发环境虚拟机上安装docker部署应用。 所在的服务器是一个内网&#xff0c;无法访问到外网环境。 服务器OS版本是 麒麟V10 linux 安装docker 安装包下载 获取所需版本的docker binary包&#xff0c;官方链接https://download.docker.com/linux/stati…...

MySQL高阶2066-账户余额

目录 题目 准备数据 分析数据 总结 题目 请写出能够返回用户每次交易完成后的账户余额. 我们约定所有用户在进行交易前的账户余额都为0&#xff0c; 并且保证所有交易行为后的余额不为负数。 返回的结果请依次按照 账户&#xff08;account_id), 日期( day ) 进行升序排序…...

《RabbitMQ篇》Centos7安装RabbitMQ

安装RabbitMQ 安装包网盘下载地址 链接&#xff1a;https://pan.baidu.com/s/1bG_nP0iCdAejkctFp1QztQ?pwd4mlw 先上传安装包到服务器&#xff08;erlang-23.3.4.11-1.el7.x86_64.rpm和rabbitmq-server-3.9.16-1.el7.noarch.rpm&#xff09;然后使用指令安装 # 安装 erlang r…...

昇思学习打卡营第31天|深度解密 CycleGAN 图像风格迁移:从草图到线稿的无缝转化

1. 简介 图像风格迁移是计算机视觉领域中的一个热门研究方向&#xff0c;其中 CycleGAN (循环对抗生成网络) 在无监督领域取得了显著的突破。与传统需要成对训练数据的模型如 Pix2Pix 不同&#xff0c;CycleGAN 不需要严格的成对数据&#xff0c;只需两类图片域数据&#xff0c…...

跟我学C++中级篇——空值的定义

一、空值 在提到c/c的空值时&#xff0c;先扯远一些。谈一谈数学中的0&#xff0c;0的出现要晚于其它的数&#xff0c;而0的出现却引发了数学的极大的发展和进步。而在计算机科学中&#xff0c;在使用一个变量时&#xff0c;它的值的可能性有很多&#xff0c;其中&#xff0c;…...

(三)Mysql 数据库系统全解析

一、Mysql 数据库 数据库的作用和优势 作用&#xff1a;集中化存储结构性的数据。优势&#xff1a; 减小数据冗余&#xff0c;避免数据的重复存储。保证数据的真实有效和唯一性&#xff0c;提高数据的质量。方便数据共享访问&#xff0c;使得不同的用户和应用可以方便地获取所需…...

SAP HCM 0001信息类型一个月内有多个成本中心

一般跨部门调动时候&#xff0c;成本中心都会变化&#xff0c;SAP默认都是读取wpbp的最后一一条数据&#xff0c;但是今天过账会读取两个单位的成本中心&#xff0c;一直都觉得很奇怪&#xff0c;SAP如何都拆分出这样的情况&#xff0c; 没办法只有debug&#xff0c;初始化系统…...

字节输入流

1.是什么 字节输入流&#xff08;Byte Input Stream&#xff09;在Java中是用来读取原始字节流的数据。Java的java.io包提供了多种字节输入流类&#xff0c;其中InputStream是所有字节输入流类的超类。以下是关于字节输入流的详细解释和举例&#xff1a; 字节输入流的概念&…...

深度学习-----------------机器翻译与数据集

目录 机器翻译与数据集下载和预处理数据集预处理步骤词元化词汇表该部分总代码 固定长度阶段或填充该部分总代码 转换成小批量数据集用于训练训练模型总代码 机器翻译与数据集 import os import torch from d2l import torch as d2l下载和预处理数据集 #save d2l.DATA_HUB[fr…...

SOMEIP_ETS_151: SD_Send_triggerEventUINT8Reliable_Eventgroup_2

测试目的&#xff1a; 验证DUT在Tester订阅事件组后&#xff0c;能够响应Tester触发的triggerEventUINT8Reliable方法&#xff0c;并将TestEventUINT8Reliable事件发送到订阅请求中端点选项指定的IP地址和端口。 描述 本测试用例旨在确保DUT能够正确处理事件组的订阅请求&am…...

32 C 语言指针的长度与运算(指针加减整数、指针自增自减、同类型指针相减、指针的比较运算)

目录 1 指针的长度 2 指针与整数的加减运算 3 指针自增与自减 4 同类型指针相减 5 指针的比较运算 6 测试题 1 指针的长度 在 C 语言中&#xff0c;sizeof 运算符可以用来计算指针的长度。指针的长度实际上与指针所指向的数据类型无关&#xff0c;而是与系统的位数&…...

【系统架构设计师】经典论文:轮软件三层架构设计

更多内容请见: 备考系统架构设计师-核心总结目录 文章目录 摘要正文总结摘要 本人于 2022 年 1 月参与了中石化 XX 油田 XX 采油厂“用电管理系统”的项目建设,该系统建设目标是实现分单位、分线路、分系统评价、优化、考核,全面提升采油厂用 电管理水平。在该项目组中我担…...

(C语言贪吃蛇)13.实现贪吃蛇四方向的移动

目录 前言 原代码预览 解决方法⚠️ 运行效果 总结 前言 我们上节通过Linux线程实现了两个while(1)同时运行&#xff0c;这样就可以一边控制方向一遍刷新出贪吃蛇的身体节点了。本节我们就来实现贪吃蛇四方向的移动。 (此图片为最终效果) 原代码预览 我们之前的代码是通过…...

Spring Boot + MyBatis 项目中常用注解详解(万字长篇解读)

Spring Boot MyBatis 项目中常用注解详解 在现代Java开发中&#xff0c;Spring Boot和MyBatis是两大热门框架&#xff0c;广泛应用于构建高效、可维护的企业级应用。两者结合使用&#xff0c;可以充分发挥各自的优势&#xff0c;提高开发效率和代码质量。在这个过程中&#x…...

AWS Network Firewall -NAT网关配置只应许白名单域名出入站

1. 创建防火墙 选择防火墙的归属子网&#xff08;选择公有子网&#xff09; 2. 创建规则白名单域名放行 3. 绑定相关规则 继续往下拉 绑定非托管规则 4. 配置网络路由 相关规则 参考图 解释 防火墙的归属公有子网路由表规则机器实例的规则子网路由表规则nat网管路…...

【C语言系统编程】【第二部分:并发编程】2.3 实践与案例分析

2.3 实践与案例分析 2.3.1 案例分析&#xff1a;多线程文件搜索程序 本文中&#xff0c;我们将通过一个多线程文件搜索程序的案例&#xff0c;展示如何在实际项目中应用多线程编程技术&#xff0c;并具体介绍任务分解、线程创建、结果汇总及锁机制的应用。 2.3.1.1 任务分解…...

React -AppVarContext.Provider 提供者组件

AppVarContext.Provider 是一个 React 上下文提供者&#xff0c;通常用于在组件树中提供共享的状态或数据。下面将详细解释 AppVarContext.Provider 的作用和如何使用它。展示如何使用 AppVarContext.Provider 来管理全局状态 1. 什么是上下文&#xff08;Context&#xff09;…...

【Python】解密用户代理:使用 Python User Agents 库探索浏览器和设备信息

Python User Agents 是一个专为解析 User Agent 字符串而设计的 Python 库。它能够轻松识别访问设备的类型&#xff08;如移动设备、桌面设备或平板&#xff09;&#xff0c;并获取设备、浏览器、操作系统等详细信息。借助它&#xff0c;开发者可以更好地了解访问用户的设备属性…...

以串口接口为例介绍关于BSP底层架构开发的迭代过程

以串口接口为例介绍关于BSP底层架构开发的迭代过程 文章目录 以串口接口为例介绍关于BSP底层架构开发的迭代过程架构概述初代BSP二代BSP:三代BSP:四代BSP:架构概述 单片机开发有四个阶段: 阶段一:单一单片机的功能实现阶段 此阶段你开始熟悉STM32F1系列的单片机,并利用…...

Label-Studio ML利用yolov8模型实现自动标注

引言 Label Studio ML 后端是一个 SDK&#xff0c;用于包装您的机器学习代码并将其转换为 Web 服务器。Web 服务器可以连接到正在运行的 Label Studio 实例&#xff0c;以自动执行标记任务。我们提供了一个示例模型库&#xff0c;您可以在自己的工作流程中使用这些模型&#x…...

【PostgreSQL】实战篇——用户管理、角色和权限控制的高级用法及技巧

数据库中用户管理、角色和权限控制不仅仅是基础的安全措施&#xff0c;更是实现复杂应用需求和优化数据库性能的重要手段。 通过深入理解这些概念&#xff0c;数据库管理员可以更有效地管理用户访问、确保数据安全&#xff0c;并优化系统性能。以下是对这些概念的详细介绍以及…...