好通过前面两篇文章
Web3.0概念
web3带大家简单建立区块链概念
大家开始明白 web3.0是基于区块链为基础开发的
我们讲区块链多次提到以太坊 EVM 那这个东西到底是什么呢?
就现在的情况来讲 从零到一去搭建一个区块链环境 那可太难了
所以 以太坊一开始 确实是做一个加密货币的
而且 他现在这个货币的市值的话 是仅次于以太币的 第二高的加密货币
但同时 以太坊也是一个区块链的公共平台
咱们可以基于 以太坊区块链的一个平台做我们一个智能合约的一个开发
所以 你可以认为 以太坊 是加密货币 但同时是区块链的应用平台 我们可以在它上面的直接部署应用 不需要再去搭建其他的东西
它已经搭建好一个去中心化的计算机平台了 我们只需要在上面部署应用就好了
大家可以想象一下 未来 我们没有欺诈 过程清晰可见,没有复杂的账号操作 只需要一个电子身份证 一万个应用 我们都可以通过一个身份去操作
还是非常美好的
以后 我们就是通过以太坊的一个节点 将我们的一个 dapp 部署上去
那么 对应的 每一个区块链节点都会有我们这个 Dapp的一个副本
所以说 以后 任何一个连接到我们以太坊的这个dapp
而且 所有的交易记录 也都会有记录和备份
所以 这就是 我们所有的业务逻辑和交易记录都是公开透明的
不是任何人都能任意的在以太坊中 记录交易 记录程序 都需要一定的费用
比如 甲要转10块钱给乙 那么 计算机就会出一个难题 解决这个问题的人会成为旷工 它解决问题需要获得奖励 这个简历的费用由交易发起者承担 就是说 可能 甲要出10.1 个以太币
10到一方手上 剩下0.1是旷工的报酬
简单说 以太坊是一个区块链的公共平台 我们可以往上部署我们的智能合约应用
但是 无论是部署应用还是给别人转账 但是都要 (燃料) 相当于小费
主要是因为 交易记录会永远存到区块链中
如果人人都可以存那就有问题了,可能一些不合法的,无意义的记录就会上去
为了提高上传的难度
计算机就会生成一个随机代码 随机代码经过散列函数或者哈希算法 算出一个无比长的信息秘钥
那么这个时候 旷工就需要利用超强能力的计算机 算出秘钥去对比 因为这个信息无法逆推 那就只能继续生成去猜 去对比
最终 一样 或者 非常非常接近 就会猜对
那么 这条交易记录就会通过算出记录的旷工上区块链 因此旷工会得到燃料 也就是小费
这个燃料 由发起者承担
所以 这个过程 我们肯定是在本地模拟 不然 你程序一直有BUG 就要一直发送 钱就会一直消耗
你在本地 可以给自己模拟给 几千万 拟太币 来操作
你们可以去查一下 以太币多少钱一枚 这个其实还是不能顺便操作的
那么 我们程序 不是java 等 而是 智能合约程序
智能合约并不是星诞生的一个词 在之前 支付宝 信用卡这些的自动还款 他都是这个概念
但是 它结合在 这个区块链中的话 他就成立不可篡改的合约
只能是新增 就会永久保留 防止作恶 一点作恶 记录操作就会被保留下来
编写智能合约 是通过 Solidity 语言编写
这里 我们看一段代码
可以看到 变量 函数的声明 和 JavaScript 还是比较接近的 但也不完全一样
但是对前端来讲 会js就还是比较快的
而web3中就有很多直接封装的函数 能够往以太坊中直接的写入数据和读取数据