web3描述以太坊与区块链之间的操作关系

news/2024/7/21 9:15:26 标签: web3, 智能合约, 区块链

好通过前面两篇文章
Web3.0概念
web3带大家简单建立区块链概念
大家开始明白 web3.0是基于区块链为基础开发的

我们讲区块链多次提到以太坊 EVM 那这个东西到底是什么呢?
就现在的情况来讲 从零到一去搭建一个区块链环境 那可太难了

所以 以太坊一开始 确实是做一个加密货币的
而且 他现在这个货币的市值的话 是仅次于以太币的 第二高的加密货币
在这里插入图片描述
但同时 以太坊也是一个区块链的公共平台
咱们可以基于 以太坊区块链的一个平台做我们一个智能合约的一个开发

所以 你可以认为 以太坊 是加密货币 但同时是区块链的应用平台 我们可以在它上面的直接部署应用 不需要再去搭建其他的东西
它已经搭建好一个去中心化的计算机平台了 我们只需要在上面部署应用就好了

大家可以想象一下 未来 我们没有欺诈 过程清晰可见,没有复杂的账号操作 只需要一个电子身份证 一万个应用 我们都可以通过一个身份去操作
还是非常美好的
在这里插入图片描述
以后 我们就是通过以太坊的一个节点 将我们的一个 dapp 部署上去
那么 对应的 每一个区块链节点都会有我们这个 Dapp的一个副本

所以说 以后 任何一个连接到我们以太坊的这个dapp
而且 所有的交易记录 也都会有记录和备份
所以 这就是 我们所有的业务逻辑和交易记录都是公开透明的

不是任何人都能任意的在以太坊中 记录交易 记录程序 都需要一定的费用

比如 甲要转10块钱给乙 那么 计算机就会出一个难题 解决这个问题的人会成为旷工 它解决问题需要获得奖励 这个简历的费用由交易发起者承担 就是说 可能 甲要出10.1 个以太币
10到一方手上 剩下0.1是旷工的报酬
在这里插入图片描述
简单说 以太坊是一个区块链的公共平台 我们可以往上部署我们的智能合约应用
但是 无论是部署应用还是给别人转账 但是都要 (燃料) 相当于小费
主要是因为 交易记录会永远存到区块链
如果人人都可以存那就有问题了,可能一些不合法的,无意义的记录就会上去
为了提高上传的难度
计算机就会生成一个随机代码 随机代码经过散列函数或者哈希算法 算出一个无比长的信息秘钥
那么这个时候 旷工就需要利用超强能力的计算机 算出秘钥去对比 因为这个信息无法逆推 那就只能继续生成去猜 去对比
最终 一样 或者 非常非常接近 就会猜对
那么 这条交易记录就会通过算出记录的旷工上区块链 因此旷工会得到燃料 也就是小费
这个燃料 由发起者承担

所以 这个过程 我们肯定是在本地模拟 不然 你程序一直有BUG 就要一直发送 钱就会一直消耗
你在本地 可以给自己模拟给 几千万 拟太币 来操作

你们可以去查一下 以太币多少钱一枚 这个其实还是不能顺便操作的
在这里插入图片描述
那么 我们程序 不是java 等 而是 智能合约程序
智能合约并不是星诞生的一个词 在之前 支付宝 信用卡这些的自动还款 他都是这个概念
但是 它结合在 这个区块链中的话 他就成立不可篡改的合约

只能是新增 就会永久保留 防止作恶 一点作恶 记录操作就会被保留下来
编写智能合约 是通过 Solidity 语言编写

这里 我们看一段代码
在这里插入图片描述
可以看到 变量 函数的声明 和 JavaScript 还是比较接近的 但也不完全一样
但是对前端来讲 会js就还是比较快的

web3中就有很多直接封装的函数 能够往以太坊中直接的写入数据和读取数据


http://www.niftyadmin.cn/n/440133.html

相关文章

主流大模型介绍

近年来最重要的发展之一是大型语言模型 (LLM) 的出现。LLM 一次处理所有顺序输入,并依靠自注意力来关注输入的小而重要的部分,这使得它们不同于一次处理一个单词的先前架构。 BERT:来自变压器的双向编码器表示 BERT 是一种双向变换器模型&a…

视觉SLAM十四讲——ch11实践(回环检测)

视觉SLAM十四讲——ch11的实践操作及避坑 1. 实践操作前的准备工作2. 实践过程2.1 创建字典2.2 相似度计算 3. 遇到的问题及解决办法3.1 在cmake ..时出现错误3.2 在make是出现错误 1. 实践操作前的准备工作 在终端中进入ch11文件夹下,顺序执行以下命令进行编译。 …

框架篇面试题

框架篇面试题 面试官:Spring框架中的单例bean是线程安全的吗? 候选人: 嗯! 不是线程安全的,是这样的 当多用户同时请求一个服务时,容器会给每一个请求分配一个线程,这是多个线程会并发执行该请求…

深入理解 SpringBoot 日志框架:从入门到高级应用——(六)Log4j2 输出日志到 QQ邮箱

文章目录 获取 QQ 邮箱授权码添加依赖编写 SMTPAppender运行结果 要实现将 log4j2 输出日志到 QQ 邮箱,需按照以下步骤进行: 在 QQ 邮箱中设置 SMTP 服务,开启 POP3/SMTP 服务,获取 SMTP 服务地址、端口号、登录邮箱账号和密码。 …

upyter Notebook:内核似乎挂掉

项目场景:提示:这里简述项目相关背景:项目场景:深度强化学习在中国股票量化交易上的应用,要求跑赢大盘问题描述提示:这里描述项目中遇到的问题:使用Jupyter Notebook运行时,跑到绘图…

微服务开发系列 第九篇:OAuth2

总概 A、技术栈 开发语言:Java 1.8数据库:MySQL、Redis、MongoDB、Elasticsearch微服务框架:Spring Cloud Alibaba微服务网关:Spring Cloud Gateway服务注册和配置中心:Nacos分布式事务:Seata链路追踪框架…

浅谈Java的IO与Netty

一、Java的IO((Input/Output))模型 传统IO和Java NIO最大的区别是传统的IO是面向流,NIO是面向Buffer Socket之间建立链接及通信的过程!实际上就是对TCP/IP连接与通信过程的抽象: 1.服务端Socket会bind到指定的端口上,Listen客户端的”插入”…

从0到1ES集群搭建实践

ES集群搭建实践 创建虚拟机 创建Linux新用户elastic 必须信息 使用elasticsearch账号操作:启动,关闭等 配置网卡信息 vi /etc/sysconfig/network-scripts/ifcfg-ens33TYPE"Ethernet" PROXY_METHOD"none" BROWSER_ONLY"no…