区块链+Web3学习笔记

news2024/10/4 13:47:29

学习资料来源于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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2188127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Netty系列-8 Netty处理粘包和半包问题

1.半包和粘包问题 TCP协议是基于字节流的数据通讯协议,数据被看做是一连串的字节流;不具备边界信息,给接收方带来半包和粘包问题。 半包:TCP传输时,将数据切割成一个个数据包进行传输。接收方一次读取操作&#xff0c…

吉他弹唱打谱软件哪个好用 吉他弹唱制谱教程

吉他这门乐器一直受到大众的欢迎,究其原因,还是因为其成本低廉、易上手的特性。但是吉他是一个入门容易精通难的乐器,想要成为一个资深的吉他玩家,那么就少不了用到一些吉他弹唱打谱软件。今天我们就来说一说吉他弹唱打谱软件哪个…

学习 CSS 新的属性 conic-gradient 实现环形进度条

我们在工作中用到环形进度条的时候&#xff0c;一般都是使用组件库提供的&#xff0c;那么你有没有想过这是怎么实现的呢&#xff1f; <divclass"progress"style"--progress: 80%; --last: 20%"data-progress"80%"></div><style …

【宽搜】2. leetcode 102 二叉树的层序遍历

题目描述 题目链接&#xff1a;二叉树的层序遍历 根据上一篇文章的模板可以直接写代码&#xff0c;需要改变的就是将N叉树的child改为二叉树的left和right。 代码 class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {vector<vector&…

k8s的学习和使用

为什么用k8s&#xff0c;不用docker&#xff1f; k8s更适合复杂的微服务架构和大规模的容器应用。 Pods(Pod) Pod是k8s最小可部署单元&#xff0c;他包含一个或多个相关容器。这些容器共享网络命名空间和存储卷&#xff0c;他们通常协同工作来构成一个应用程序。 Serv…

开启AI新篇章:探索GPT-4与大模型!订阅方案!简单支付!

开启AI新篇章&#xff1a;探索GPT-4的无限可能 随着人工智能技术的飞速发展&#xff0c;我们正处于一个前所未有的变革时代。作为人工智能领域的领导者&#xff0c;OpenAI 推出的GPT-4&#xff0c;以其卓越的自然语言处理能力和强大的计算潜力&#xff0c;引发了行业内外的广泛…

深入浅出MySQL

深入浅出MySQL 以下内容参考自 《MySQL是怎样运行的&#xff1a;从根儿上理解MySQL》一书&#xff0c;强烈推荐 存储引擎 对于不同的表可以设置不同的存储引擎 CREATE TABLE tableName (xxxx ) ENGINE 引擎名称; # 修改 ALTER TABLE tableName ENGINE xxx; 编码格式 my…

(C语言贪吃蛇)10.贪吃蛇向右自行行走

目录 前言 本节内容 实现效果 修改后的代码 其他封装函数&#xff1a; 运行效果 总结 前言 我们上节讲解了关于贪吃蛇撞墙然后死翘翘重新初始化蛇身的操作&#xff0c;主要是关于程序初始化释放内存的操作&#xff0c;不理解的再去看看&#x1f618;(贪吃蛇撞墙找死详解)。…

SpringBoot技术栈:构建高效古典舞交流平台

第二章 相关技术介绍 2.1Java技术 Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中&#xff0c;Java的身影无处不在&#xff0c;并且拥有旺盛的生命力。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xf…

openpnp - 吸嘴校正失败的opencv参数分析

文章目录 openpnp - 吸嘴校正失败的opencv参数分析概述笔记阶段验证 - N2吸嘴校验完NT1NT2 阶段验证 - 底部相机高级校验完NT1NT2 参数比对保存 “阶段验证 - N2吸嘴校验完” 的NT1/NT2图像重建参数检测环境NT1ok的3个参数值NT1err的3个参数值NT2ok的3个参数值NT2err的3个参数值…

如何入门运动规划算法? 50篇教程教你手把手推导公式! 实现代码!

经常听到有想入门规划算法的同学说: 各路教程不成体系, 不知从何学起? 网上的规划算法教程资料确实很多. 但是东一篇frenet, 西一篇QP优化, 大部分都是各路大佬写给自己看的学习笔记, 杂乱无章不成体系. 有没有给小白看的, 完整成体系的运动规划算法教程呢? 穷学生囊中羞…

Redis入门第四步:Redis发布与订阅

欢迎继续跟随《Redis新手指南&#xff1a;从入门到精通》专栏的步伐&#xff01;在本文中&#xff0c;我们将深入探讨Redis的发布与订阅&#xff08;Pub/Sub&#xff09;模式。这是一种强大的消息传递机制&#xff0c;适用于各种实时通信场景&#xff0c;如聊天应用、实时通知和…

反调试—1

IsDebuggerPresent() CheckRemoteDebuggerPresent() 其内部实际调用NtQueryInformationProcess() bool _stdcall ThreadCall() {while (true){BOOL pbDebuggerPresent FALSE;CheckRemoteDebuggerPresent(GetCurrentProcess(), &pbDebuggerPresent);if (pbDebuggerPres…

Redis数据库与GO(一):安装,string,hash

安装包地址&#xff1a;https://github.com/tporadowski/redis/releases 建议下载zip版本&#xff0c;解压即可使用。解压后&#xff0c;依次打开目录下的redis-server.exe和redis-cli.exe&#xff0c;redis-cli.exe用于输入指令。 一、基本结构 如图&#xff0c;redis对外有个…

Netgear-WN604 downloadFile.php 信息泄露复现(CVE-2024-6646)

0x01 产品描述&#xff1a; NETGEAR WN604是一款功能强大的双频AC1200无线路由器,非常适合中大型家庭和企业使用。它支持最新的802.11ac无线标准,能提供高达1200Mbps的无线传输速度。路由器具备千兆有线网口和3个100Mbps有线网口,可满足有线和无线设备的接入需求。此外,它还内置…

详解JavaScript中函数式编程

函数式编程 JS并非函数式编程语言&#xff0c;但可以应用函数式编程技术&#xff0c;这种风格很多语言都用&#xff0c;例如Java. 使用函数处理数组 假设有一个数组&#xff0c;数组元素都是数字&#xff0c;我们想要计算这些元素的平均值和标准差。使用非函数式编程风格的话…

vue基于springboot的促销商城购物管理系统带抽奖dm8o6

目录 功能介绍系统实现截图开发工具合计数介绍技术介绍核心代码部分展示可行性分析springboot文件解析详细视频演示源码获取 功能介绍 用户功能 注册登录&#xff1a;允许用户创建账户和登录系统。 个人中心&#xff1a;用户可以查看和编辑个人信息&#xff0c;密码、联系方式…

RabbitMQ篇(死信交换机)

目录 一、简介 二、TTL过期时间 三、应用场景 一、简介 当一个队列中的消息满足下列情况之一时&#xff0c;可以成为死信&#xff08;dead letter&#xff09; 消费者使用basic.reject或者basic.nack声明消费失败&#xff0c;并且消息的requeue参数设置为false消息是一个过…

银河麒麟V10 SP1如何进入救援模式?

银河麒麟V10 SP1如何进入救援模式&#xff1f; 1、准备工作2、进入BIOS/UEFI进入救援模式注意事项 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在使用银河麒麟高级服务器操作系统V10 SP1时&#xff0c;如果遇到系统无法正常启动或需要进…

Blazor流程编排的艺术:深入Z.Blazor.Diagrams库的使用与实践

为现代网页应用开发提供动力的其中一个重要方面就是前端框架的强大功能与灵活性。而在.NET生态中&#xff0c;Blazor以其独特的工作方式和优势逐渐获得了开发者们的青睐。今天&#xff0c;在这篇文章中&#xff0c;我将带你深入探索一个基于Blazor的优秀库——Z.Blazor.Diagram…