web3.0的简单入门与项目介绍

web3.0 是什么?

1.简介

Web3.0是通过区块链等技术实现更加智能化、去中心化、安全可靠的应用。

Web3.0的主要特点包括:

去中心化:Web3.0将数据和应用从中心化的服务器转移到分布式的节点上,实现去中心化的应用。

安全可靠:Web3.0采用了区块链等技术,实现了去中心化、不可篡改、安全可靠的应用。

Web3.0的应用场景包括智能合约、去中心化应用(DApp)、物联网、人工智能等领域。

2.需要涉及的学习内容

  1. 区块链技术:去中心化的项目一般基于区块链技术实现,需要了解区块链的概念、原理和常见的实现方式,例如以太坊、EOS 等。

以太坊区块链采用的是一种叫做“以太坊账户模型”的设计,每个账户都有一个唯一的地址,可以通过地址进行标识和访问。以太坊账户分为两种类型:外部账户和合约账户。合约账户则是智能合约的执行代码,可以接收和处理交易请求,进行复杂的业务逻辑处理。

外部账户是一种标准的以太坊账户,由 20 个字节的地址表示。外部账户的私钥保存在用户的钱包中,用户可以使用钱包软件对其进行管理,例如创建、导入、备份、转账等操作。

合约账户则是一种特殊的账户类型,包含了智能合约的执行代码。每个合约账户都有一个唯一的地址,由 20 个字节表示,但不能像外部账户一样通过私钥进行转账。相反,合约账户的代码必须定义一个或多个公开可调用的函数,用户可以通过发送交易请求来调用这些函数,合约代码会根据交易请求进行相应的处理,并将结果返回给发送方。

当用户发送交易请求时,需要指定目标地址,如果目标地址是一个外部账户,则表示进行转账操作,交易的金额会从发送方的账户中扣除,并转入目标地址的账户中;如果目标地址是一个合约账户,则表示调用合约函数,交易的数据会包含调用函数的参数和返回值,合约代码会根据参数进行处理,并返回结果给发送方。因此,合约账户的代码可以实现非常复杂的业务逻辑和交互操作,例如管理数字资产、执行投票决策等。

以太坊区块链的外部账户和合约账户是以不同的方式进行工作的,外部账户用于简单的转账操作,而合约账户则可以实现复杂的业务逻辑和交互操作。

外部账户(左),合约账户(右):

每个区块中包含了多个交易记录,通过哈希算法进行链接,形成一个不可篡改的链式结构,保证了交易记录的透明性和可追溯性。

在以太坊网络上,每个交易都会生成一个唯一的事务哈希(Transaction Hash,也简称 TX Hash)。TX Hash 是一个长字符串,通常由 64 个十六进制字符组成。它是以太坊网络中交易的唯一标识符,可以用于查询交易的状态、检查交易是否已经被打包进区块以及其他相关操作。

TX Hash 是由交易的发送者创建的,它由交易的各种细节信息计算得出,并在网络上广播。一旦 TX Hash 被广播出去,矿工节点会将其加入到内存池中等待打包进区块。

一旦交易被打包进区块,TX Hash 就成为了区块的一部分,并被永久记录在区块链上。此时,你可以使用 TX Hash 查询交易的状态、确认交易是否已经被处理以及其他相关信息。

TX Hash 是以太坊网络中交易的唯一标识符,它用于标识交易的状态、查询交易是否被处理以及其他相关操作。

  1. 智能合约:智能合约是区块链项目的核心,需要了解智能合约的概念、编写方式、安全性等。

我是使用 Remix-Ethereum这个开发工具来编写,他是基于 以太坊区块链编写Solidity

3.Solidity

Solidity由Ethereum团队开发,是web3中最常用的智能合约编程语言。 该语言是图灵完整的面向对象的。这些特点是该语言在很大程度上受到C++、Python和JavaScript的影响而产生的。

建立在EVM兼容的区块链上,开发者可以使用Solidity创建Ethereum原生的dApps,部署智能合约,用于投票、交易管理和多签名钱包等无数用途。

ACCOUNT是GAS USED的两倍

3.配合的开发工具

测试环境:Ganache

正式环境:Metamask

项目简介

本项目于2021年12月12日创立,前端框架使用 vue3+ts、 组件库使用 antd,使用Truffle 框架开发web3应用,区块链使用Solidity+web3.js

项目描述: 区块链技术,使用Web3.js+Solidity编写智能合约代替了传统的web 2.0中的接口,利用 Metamask插件进行登录去中心化账号。Web 3.0安心筹——基于区块链服务网络(BSN)的个人大病求助服务平台,推动慈善公益公开透明化。平台将患者信息上链,交易数据上链,捐助金审批上链等,通过智能合约最大程度上保障捐助资金安全和公开透明

主要工作:

前端运用Web3.js进行区块链中接口的调用替代了传统的前后端接口模式,去中心化使得开发更为便捷,所有交易记录公开透明。

项目配置(使用truffle这个web3框架)

配置顺序:

1. 首先需要配置好`node`、`npm`、`yarn`,安装`ganache`,`chrome`,`chrome`安装插件`MetaMask`
2. 安装 truffle,`yarn global add truffle`
3. 打开`ganache`软件
4. 在`ganache`软件上选择 quickstart,单击右上角齿轮图标进行设置
5. 在 workspace 标签页中 add project 选中 `./truffle-config.js`,server 标签卡将端口改为8545。
6. 单击右上角 save and restart。
7. 选中 ganache 软件中最上面 contracts 选项卡,将 crowdFunding 合约的地址复制,找到`./crowdfunding/src/api/contract.ts`文件的第7行,将 0x 开头的地址覆盖为刚刚复制的地址。
8. 切换到 finalWork 文件夹下
9. 输入:`truffle compile`
10. 输入:`truffle migrate`
11. 将`./build/contracts/CrowdFunding.json`复制到`./crowdfunding/src/api/`目录下
12. 切换到`./crowdfunding/`目录下
13. 输入:`yarn`
14. 安装完毕后输入:`yarn serve`
15. 浏览器中访问:`http://localhost:8080`
16. 在`metamask`中选择连接 localhost:8545 的本地网络,并且从 ganache 中导入几个账户进去,就可以开始测试了。
解释:
  • 1.truffle compile 是 Truffle 框架提供的命令行工具,用于编译 Solidity 智能合约。在开发以太坊 DApp 时,智能合约是 DApp 的核心,它定义了应用的业务逻辑和数据结构。在 Truffle 中,智能合约通常位于 contracts/ 目录下,使用 Solidity 语言编写。当对智能合约进行修改后,需要重新编译合约以生成 ABI(Application Binary Interface)和二进制代码,这样才能进行后续的部署、测试和交互。需要注意的是,truffle compile 命令默认使用 solc 编译器来编译合约。可以通过在 truffle-config.js 中设置 compilers 属性来更改编译器选项,例如选择使用不同版本的 solc 编译器、使用外部编译器等。

  • 2.在编写 Solidity 智能合约时,通常需要使用 Solidity 编译器将 Solidity 代码编译为字节码,然后将字节码部署到以太坊网络上。在 Solidity 编译过程中,会生成一个 JSON 文件,它包含了智能合约的元数据和 ABI(应用程序二进制接口)信息。

  • 3.truffle migrate 是 Truffle 框架提供的命令行工具,用于将 Solidity 智能合约部署到目标区块链网络上。在开发以太坊 DApp 时,智能合约是 DApp 的核心,它定义了应用的业务逻辑和数据结构。truffle migrate 命令会执行部署脚本,并将智能合约部署到目标网络上。在执行部署脚本之前,需要确保已经完成了编译工作,即已经生成了相应的 ABI 和二进制代码。部署脚本通常位于 migrations/ 目录下,使用 JavaScript 语言编写,它可以执行一些初始化操作,例如将合约地址保存到配置文件中,或者初始化合约的状态。

  • 4.这些部署文件是 JavaScript 脚本,用于执行智能合约的部署操作。在 Truffle 中,每个部署文件都对应着一个智能合约的部署过程,以数字开头的文件名来表示部署顺序,例如 1_initial_migration.js。在部署文件中,开发者需要指定要部署的智能合约名称、部署者账户地址、部署者账户的私钥、要使用的网络配置等。部署文件通常使用 Truffle 提供的 artifacts.require() 方法来加载已经编译好的智能合约,然后使用部署者账户调用 deploy() 方法来将合约部署到目标网络上。部署成功后,合约的地址会被保存到配置文件中,以便在后续的测试和交互中使用。

  • 5.artifacts.require() 方法可以接收一个参数,即智能合约的名称。在调用 artifacts.require() 方法时,它会从 build/contracts/ 目录中读取对应的 JSON 文件,并返回一个包含了智能合约 ABI 和二进制代码的 JavaScript 对象。开发者可以通过这个对象来执行智能合约的部署、测试和交互等操作。需要注意的是,artifacts.require() 方法返回的 JavaScript 对象中,包含了智能合约的 ABI 和二进制代码,但不包含合约的地址。在部署智能合约后,合约的地址会被保存到配置文件中,开发者需要手动读取该地址并将其与智能合约对象进行关联。

  • 6.build/contracts/ 目录下对应的 JSON 文件在编译时是不包含 networks 字段的,但在智能合约部署成功后,Truffle 会自动更新 networks 字段,将合约在不同网络上的部署情况记录下来

主要功能

产品首页救助列表展示

发起筹款

救助者捐助资金

在筹款成功后,被救助者发起请求使用资金

等待捐助者审核是否同意资金使用

半数捐助者审核同意通过后,资金转到患者账户

个人中心信息页面

结束

这是我的第一次web3.0分享,很开心能给各位做这次分享!github项目地址(已开源)

原文地址:https://blog.csdn.net/weixin_54079103/article/details/131741085

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读903次。文章主要介绍了收益聚合器Beefy协议在币安智能链测试网网上的编译测试部署流程,以Pancake上的USDC-BUSD最新Curve版流动池的农场质押为例,详细介绍了完整的操作流程。_怎么在bsc网络上部署应用
文章浏览阅读952次。比特币的主要思路是,构建一个无中心、去信任的分布式记账系统。交易签名只能保证交易不是他人伪造的,却不能阻止交易的发起者自己进行多重交易,即交易的发起者将一个比特币同时转账给两个人,也就是所谓的双花。比特币应用的区块链场景也叫做公链,因为这个区块链对所有人都是公开的。除此之外,还有一种区块链应用场景,被称作联盟链。区块链的出现,使得低成本,去信任的跨组织合作成为可能,将重构组织间的关系,这个关系既包括企业间的关系,也包括政府和企业间的关系,还有政府部门间的关系。
文章浏览阅读2.5k次。虚拟人从最初的不温不火,到现在步入“出生高峰期”,元宇宙可以说是功不可没。此前,量子位发布了《虚拟数字人深度产业报告》,报告显示,到2030年我国虚拟数字人整体市场规模将达到2700亿元。其中,“身份型虚拟人”市场规模预计达到1750亿元,占主导地位,而“服务型虚拟人”总规模也将超过950亿元。得益于AI、VR/AR 等技术的发展,虚拟人的应用场景正在从传统的虚拟偶像等娱乐行业迈向更多元化的领域。_最喜欢的虚拟角色
文章浏览阅读1.3k次,点赞25次,收藏13次。通过调查和分析用户需求、兴趣和行为,你可以更好地定位你的目标受众,并在市场中找到你的定位。在设计你的Web3.0项目时,注重用户界面的友好性、交互流畅性和功能的创新性,以提供独特的用户体验。通过与有影响力的人或组织进行合作,推广你的Web3.0项目。通过与他们分享你的项目并抓住他们的推荐,可以迅速获得更多的关注度。通过优化你的网站和内容,将有助于提高你的排名,并增加有机流量。通过提供奖励激励计划,如空投、奖励机制等,激励用户参与你的Web3.0项目。的人或组织合作,可以增加你的项目的曝光度。
文章浏览阅读1.7k次。这个智能合约安全系列提供了一个广泛的列表,列出了在 Solidity 智能合约中容易反复出现的问题和漏洞。Solidity 中的安全问题可以归结为智能合约的行为方式不符合它们的意图。我们不可能对所有可能出错的事情做一个全面的列表。然而,正如传统的软件工程有常见的漏洞主题,如 SQL 注入、缓冲区超限和跨网站脚本,智能合约中也有反复出现的。_solidity安全漏洞
文章浏览阅读1.3k次。本文描述了比特币核心的编译与交互方法_编译比特币
文章浏览阅读884次。四水归堂,是中国建筑艺术中的一种独特形式。这种形式下,由四面房屋围出一个天井,房屋内侧坡向天井内倾斜,下雨时雨水会从东西南北四方流入天井,从而起到收集水源,防涝护屋的作用,寓意水聚天心,天人合一。在科技产业当中,很多时候我们需要学习古人的智慧与意蕴,尝试打通各个生态,聚四方之力为我所用,这样才能为最终用户带来最大化价值。随着数字化、智能化的发展,算力成为生产力的根基。在这一大背景下,算力需要贯通软..._超聚变csdn
文章浏览阅读1k次,点赞24次,收藏19次。云计算和区块链是当代科技领域两个备受关注的核心技术。本文将深入探讨云计算和区块链的发展历程,详细剖析其起初阶段的奠基、面临的问题、业务内容、当前研究方向、用到的技术、实际应用场景、未来发展趋势,并提供相关链接供读者深入了解。
文章浏览阅读1.5k次。融入对等网络的奥妙,了解集中式、全分布式和混合式对等网络的差异,以及区块链网络的结构与协议,让你跃入区块链的连结网络。揭开密码学的神秘面纱,探寻对称密码学、非对称密码学、哈希函数、数字签名等关键技术,让你了解信息安全的核心。解码共识算法的精髓,从理论到实践,从PoW、PoS到PBFT,让你深入了解区块链如何达成共识。探索智能合约的世界,从定义到生命周期,从执行引擎到开发与部署,带你进入无限可能的合约领域。了解令人惊叹的区块链世界,从概念到价值,从发展历程到政策法规,一篇章串联出区块链的精髓。
文章浏览阅读777次。8 月份,加密货币市场经历了明显的波动,比特币价格波动幅度较大。与此同时,NFT 市场出现大幅下跌,引发了人们对这一新兴行业未来发展趋势的担忧
文章浏览阅读8.8k次,点赞53次,收藏37次。近二十年来,我国信息科技发展日益成熟,出现的网络完全问题也是“百花齐放”。而元宇宙作为5G技术、AR/VR技术、云计算以及区块链等技术的组合体,其安全性指定会被人们所广泛关注。根据前面所讲,元宇宙融合了虚拟世界和现实世界,通过数据将现实世界的各种元素映射到数字化的虚拟世界中。所以没有数据,就等于没有元宇宙的一切;没有信息安全,元宇宙的社会生产、生活就不能正常有序地进行。所以足以可见数据安全、信息安全对元宇宙发展起到的重要作用!!_元宇宙 安全计算
文章浏览阅读1.4k次。最早使用历史 1991年采用 时间戳 追溯 数字文档,之后 2009年后创始人**中本聪** (satoshi nakamoto )日裔美国人,在设计比特币数字货币中将此理念写入应用程序中_web3.0学习
文章浏览阅读1.7k次。DeFi收益来源全面概述_drfi收益
文章浏览阅读941次,点赞17次,收藏21次。号外:教链内参1.28《从BTC现货ETF的近期数据看到的》隔夜BTC经历现货ETF通过后的情绪冷静,一度破位40k后又逐渐修复至42k上方。请珍惜42k的BTC吧。也许到下个周期,我们将不再有机会见到这个高度的BTC了。下面,让我们重温,42k的BTC,在过去四年穿越牛熊的过程中,带给我们的启迪吧。需要提醒的是,历史文字,自有历史局限性,回顾,也须带着批判性的目光阅读和审视。2021年2月8日,...
文章浏览阅读1.2k次,点赞23次,收藏21次。其实一开始我也是这么想的,但根据PoW算法机制,如果你的计算量不够大,是无法控制区块链的走向的,也就是说,即使你投入了大量的成本用于完成任务,也不能保证自己成功。例如,你持有100个币,总共持有了30天,那么,此时你的币龄就为3000,这个时候,如果你发现了一个PoS区块,那么你的币龄就会被减去一定的值,每减少365个币龄,将会从区块中获得0.05个币的利息(可理解为年利率5%),那么在这个案例中,利息=3000×5%/365=0.41个币。前面说过,谁的算力强,谁最先解决问题的概率就越大。
文章浏览阅读1.9k次。这里主要实现的部分继续下去,对 Blockchain 这个对象有一些修改,如果使用 TS 的话可能要修改对应的 interface,但是如果是 JS 的话就无所谓了。需要安装的依赖有:express现在的 express 已经不内置 body-parser,需要作为单独的依赖下载request不下载会报错,是使用 request-promise 所需要的依赖和已经 deprecated 了,具体 reference 可以参考。_js区块链
文章浏览阅读1k次,点赞19次,收藏19次。作者:Zach Pandl Grayscale编译:象牙山首席村民 碳链价值以太坊在2023年取得了丰厚的回报。但表现不如比特币以及其他一些智能合约公链代币。我们认为,这反映了今年比特币特有的积极因素以及以太坊链上活动的缓慢复苏。尽管以太坊的涨幅低于比特币,但从绝对值和风险调整值来看,今年以太坊的表现优于传统资产类别。以太坊不断增长的L2生态系统的发展可能会吸引新用户,并在2024年支撑以太币的...
文章浏览阅读908次,点赞20次,收藏20次。通证是以数字形式存在,代表的是一种权利、一种固有和内在的价值。徐教授告诉我:多年的职业经历,多年的为易货贸易的思考,认识到在处理贸易和经济领域的关系时,应以提高人民生活水平、保证社会成员充分就业、保证就业成员实际收入和有效需求的大幅稳定增长、实现世界资源的充分利用以及扩大货物的生产和交换为目的,期望通过达成互惠互利安排,实行公开、公平、公正的“三公原则”,开展国家与国家、企业与企业之间的易货贸易,规避因信用问题引起的各类风险,消除国际贸易中的歧视待遇,促进全球国家的经济发展,从而为实现上述目标做出贡献。
文章浏览阅读2.5k次。由于webase文档原因,查找起来比较局限,有时候想找一个api却又忘了在哪个模块的目录下,需要一步一步单独点,而利用文档自带的检索功能又因为查找文档全部信息,显得十分缓慢,所以整理了有关WeBASE的api列表但不可否认,现在只有列表,没有对应的页面跳转,文章目的也只是为了多了解webase的接口_webase私钥管理里获取
文章浏览阅读1.4k次,点赞28次,收藏21次。基于​openzeppelin来构建我们的NFT,并用一个例子来手把手的说明如何在opensea快速发布自己的NFT智能合约(ERC721)。