以太坊生态系统中工具、类库和开发技术

【区块链】以太坊白皮书深度解读:构建智能合约的分布式平台 以太坊白皮书不仅是一份技术文档,更是开启了一个区块链技术新篇章的宣言。它提出的智能合约理念和构建分布式应用平台的愿景,为全球范围内的开发者和创新者提供了无限想象空间。随着以太坊2.0的逐步实施,其在性能、可扩展性和可持续性方面的改进将进一步巩固其作为区块链基础设施的地位,推动Web3.0时代的到来。 阅读详情

如果你是以太坊区块链的新手,那么你可能会不知所措(至少我是),并试图了解以太坊生态系统中的所有工具和技术。因此,我决定在开始学习以太坊时简要描述下你经常遇到的各种组件。希望这将有助于你全面了解以太坊生态系统以及所有部分如何组合在一起。

1.以太坊

以太坊是一个智能合约区块链,你可以在其上构建去中心化的应用程序(称为智能合约)。如果你是技术专家,本白皮书值得一读:https://github.com/ethereum/wiki/wiki/White-Paper。

如果你之前已经构建了Web应用程序,我写了一篇文章,比较以太坊区块链和Web应用程序架构,这可能有助于在更高层次上理解以太坊。

2.Geth

Geth是以太坊基金会提供的官方客户端软件。它是用Go编程语言编写的。该软件包含一些值得理解的组件:

  • 客户端守护程序

当你启动此客户端守护程序时,它将连接到网络中的其他客户端(也称为节点)并下载区块链的副本。它将不断与其他节点通信,以使其区块链的副本保持最新。它还能够挖掘块并向区块链添加交易,验证块中的交易并执行交易。它还通过公开可以通过RPC与之交互的API充当服务器。

  • geth控制台

这是一个命令行工具,可让你连接到正在运行的节点,并执行各种操作,如创建和管理帐户,查询区块链,签署并向区块链提交交易等。

  • mist浏览器

这是用于与节点通信的桌面应用程序。你使用geth控制台执行的任何操作都可以通过此图形用户界面完成。

3.Parity

Parity是以太坊协议的另一个很好的实现,用Rust编程语言编写。它是一个非官方的客户端,由一家名为Parity Inc.的公司维护。任何人都可以实现客户端软件并加入以太坊网络。你可以按照本黄皮书中的规范来实施你自己的客户端!

4.Web3.js

就像你有geth,mist浏览器等与ethereum节点进行通信一样,还有一个名为Web3.js的javascript库,可以用来与节点进行交互。由于它是一个javascript库,你可以使用它来构建基于Web的dapps。

5.solidity

Solidity是用于编写智能合约以便在以太坊区块链上运行的最流行的编程语言。它是一种高级语言,在编译时会转换为EVM(以太坊虚拟机)字节代码。这与Java世界非常相似,其中有Scora,Groovy,Clojure,JRuby等JVM语言。编译时所有这些都生成在JVM(Java虚拟机)中运行的字节代码。你可以创建像Solidity这样的语言,只要你遵循规范并且你的语言编译为有效的EVM字节代码就行!

还有一个非常好的基于浏览器的IDE,你可以在这里编写合约,编译和部署到区块链:http://remix.ethereum.org/

6.Truffle/Embark

就像你有Web应用程序开发的框架,如Ruby on Rails,Python/Django等,Truffle和Embark是用于开发dapps的两个最流行的框架。它们消除了在区块链上编译和部署合同的许多复杂性。

如果你是Ethereum dapp开发的新手,我写了一系列的指导教程,可以在1,2和3开始。

7.Metamask

如果你在以太坊社区闲逛超过一周,你将不可避免地遇到Metamask。在撰写本文时,它是一个用于与以太坊节点交互的chrome插件。对于世界上每个人来说,运行节点与区块链进行交互是不现实的。因此,Metamask的人员拥有许多节点,因此你不必这样做。你所要做的就是安装Metamask,它会自动连接到他们的节点。

8.ENS

以太坊命名系统是以太坊世界的DNS。就像你将IP地址映射到人类可读的名称一样,你可以将任何以太坊合约或钱包地址映射到人类可读的名称。

例如:146.115.22.177→google.com。你可以输入解析为该IP地址的google.com,而不是在浏览器中键入IP地址。

例如:0x80C013d980aB049471c88E1603b8b4a60E03295C是我的钱包地址。如果你有心情给我发送一些以太币,你不必记住这个地址。一旦ENS启动,我可能会将它映射到mvmurthy.eth,你可以用它来轻松地给我钱:)。

9.Swarm

区块链可以存储少量数据。如果你想存储患者记录,销售合同或某些需要公开时间戳的大型文件,该怎么办?在区块链中存储blob既昂贵又无法扩展。Swarm用于解决这个问题。Swarm是一种分散的内容存储和分发服务。你可以将其视为CDN,而不是在一家公司的服务器上托管的整个CDN,它通过互联网分布在计算机上。就像运行以太坊节点一样,你运行一个swarm节点来连接到群网络。

当你将以太坊合约部署到区块链时,你将获得ABI的部署地址和JSON接口(合同接口类似于API)。当你希望某人使用你的合约时,你必须向他们提供已部署的地址和ABI。将来,ABI将存储在Swarm上,所以任何人都可以通过查看以太坊地址来查找ABI。

10.IPFS

IPFS(星际文件系统)在概念上与Swarm完全相似。它是一个分散的存储系统。它与以太坊直接无关,但可以与以太坊集成。

你可以在这里阅读Swarm和IPFS之间的区别:https://github.com/ethersphere/go-ethereum/wiki/IPFS-&-SWARM

11.Whisper

你没有听到很多关于Whisper的信息,但在以太坊生态系统中却是一项有趣的技术。它是Dapps彼此交互的通信协议。你可以在这里阅读更多相关信息:https://github.com/ethereum/wiki/wiki/Whisper

下面是尝试将所有部分组合在一起:

======================================================================

分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:

  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • EOS教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
  • tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。

汇智网原创翻译,转载请标明出处。这里是原文以太坊生态系统中的工具和技术

以太坊基本概念及工具Geth的介绍和实战 EEA最近风头比较足,来复习下以太坊。 阅读详情

相关推荐

为什么选择Java进行以太坊区块链开发

当有人说Java时,你会想到什么?如果没有,你可以试试old。虽然,其他人可能会说它坚固,可靠和安全。而对于Oodles Blockchain来说,Java意味着“企业级”。 毫无疑问,Java是一种多功能且流行的编程语言。那我们来说说java基于以太坊的区块链应用程序开发的好处。 对于开发像以太坊为基础的项目(为以太坊应用程序开发选择java)而言,这可能是一个令人惊讶的选择。 我们在Oodle...

mongo_node的专栏 3730

以太坊和区块链

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】 链客,有问必答!! 一、 以太坊和区块链的关系 从区块链历史上来说,先诞生了比特币,当时并没有区块链这个技术和名词,然后业界从比特币中提取了技术架构和体系,称之为区块链技术。从比特币提取的区块链技术称之为区块链1.0时代,那个时候的应用主要以电子货币和去中心化...

weixin_33910434的博客 547

6、以太坊生态系统全解析

本文全面解析了以太坊生态系统,涵盖了从底层技术规范到上层应用开发的各个方面。内容包括以太坊链规范、创世对象参数、区块链技术分层、挖矿工具以及点对点网络的工作原理。通过介绍应用层、基础设施层、挖矿层和点对点层的主要工具和功能,帮助开发者更好地理解和构建以太坊相关应用,并为创建个性化区块链环境提供指导。

tech5的博客 184

以太坊技术架构

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34221332的博客 224

8、以太坊生态系统与资产全面解析

本文深入解析了以太坊生态系统及其相关资产,涵盖了地址增长、以太币市值分析、开发者采用情况、矿工活动、协议实现方式(如Geth和Parity)、INFURA技术、DAOs组织形式、创建私有网络、钱包选择、交易查询等多个方面。通过对以太坊当前的发展趋势和未来潜力的全面分析,为开发者、投资者和区块链爱好者提供了深入了解和实践的参考依据。

tech5的博客 80

7、以太坊生态系统深度解析

本文深入解析了以太坊生态系统的多个方面,包括其P2P网络与协议、区块链共识机制(PoW与PoS)、区块链经济学、以太坊代币体系及区块链指标。同时,文章探讨了以太坊未来的发展方向,如技术创新和应用场景拓展(如DeFi和NFT),以及所面临的技术与市场挑战。最后,文章强调了开发者和用户在以太坊生态系统中的关键作用,并展望了其未来可持续发展的潜力。

tech5的博客 153

以太坊生态系统中的工具和技术

如果你是以太坊区块链的新手,那么你可能会不知所措(至少我是),并试图了解以太坊生态系统中的所有工具和技术。因此,我决定在开始学习以太坊时简要描述下你经常遇到的各种组件。希望这将有助于你全面了解以太坊生态系统以及所有部分如何组合在一起。 1.以太坊 以太坊是一个智能合约区块链,你可以在其上构建去中心化的应用程序(称为智能合约)。如果你是技术专家,本白皮书值得一读:https://github.c...

rejames的博客 930

大漠dll帮助文档后台工具.zip

内含dm.dll,dm.chm,大漠综合工具.exe 大漠免费版本,需要的下载。

以太坊入门

首先介绍了以太坊的历史、以太坊发展的动机以及以太坊客户端,然后详细诠释了以太坊区块链的核心概念,例如状态机模型、世界状态和机器状态、帐户以及帐户类型等。此外,还对EVM的核心组件进行了详细介绍。

禅与代码的艺术 2065

乐玩模块,易高仿大漠插件,支持OPENGL最小化截图,D3DHOOK

纯易语言写的高仿大漠插件模块,效率和大漠插件,调用更方便,高速找图,识字。支持OEPNGL最小化截图,支持DX鼠标,

从零开始使用matlab实现EKF-SLAM算法(含完整代码)

扩展卡尔曼滤波器同步定位与建图 (EKF-SLAM) 算法建立在 EKF 的基础上,集成了 EKF 的功能,可解决机器人技术中最具挑战性的问题之一:同时定位与建图 (SLAM)。 EKF-SLAM采用EKF方法来同时估计机器人的状态和周围环境的布局,而无需事先了解位置。 这种双重功能对于在未知环境中运行的自主系统至关重要,使它们能够在绘制区域地图时有效导航。 EKF-SLAM 算法一直是自动驾驶车辆和机器人系统开发的基石,为处理现实世界环境中固有的不确定性提供了一个强大的框架。

mjmmm的博客 6634

9. Web3的生态系统

Web3的生态系统是一个由区块链平台、开发工具、社区资源和协议共同构成的复杂网络,为去中心化应用的发展提供了坚实的技术基础和支持。

sise_2022的博客 2568

FR4板材实战:用ADS 2023快速设计微带线低通滤波器(附Line-Cal计算技巧)

本文详细介绍了使用ADS 2023在FR4板材上设计1-3GHz微带线低通滤波器的工程技巧。通过Line-Cal工具快速计算微带线参数,解决FR4板材的介质损耗和阻抗匹配问题,提供从集总参数转换到分布参数的实用方法,并分享版图设计与实测验证的关键要点,帮助工程师高效完成射频滤波器设计。

omega的博客 713

是什么让以太坊从众多公链中脱颖而出

这些因素共同作用,使以太坊能够在众多公链中脱颖而出,成为区块链技术领域的领军者。然而,随着技术的不断进步和竞争的加剧,以太坊也面临着来自Solana、Avalanche、Polkadot等新兴公链的挑战,这些挑战促使以太坊持续改进和创新以维持其领先地位。

以择人之心择己,以恕己之心恕人。 6217

智能座舱架构与芯片- (9) 音频篇 上

从A2B收发器衍生出来的简化产品具备各种级别的功能,例如端点从节点(不支持TDM)、简化型主节点(支持较短的电缆和更少的从节点数量),以及简化型端点从节点(支持较短电缆和更少的PDM输入)。例如,AVB中的talker和listener是不同的设备,它们的参考时钟源可能并不相同。传统的车载收音机通过天线接收无线电信号,然后由调谐模块(Tuner)进行信号调谐,信道过滤,信道均衡,多路改善,信号解调等,转为数字信号后再交给DSP进行立体声解码,噪声抑制,弱信号处理,最后从车载音响系统进行播放。

joanna_xiao的博客 4904

YOLOv5 改进点总览:轻量化、高精度的背后有哪些魔改?

YOLOv5是由Ultralytics团队开发的高效目标检测模型,其核心改进包括:主干网络采用CSPDarknet53提升梯度传播效率;特征融合使用PANet增强小目标识别;输出结构采用解耦头设计优化定位和分类任务。此外,YOLOv5通过CIoU损失函数、Mosaic数据增强和SimOTA标签分配机制进一步提升性能。模型支持多种推理格式(ONNX/TensorRT等),并具备自动锚框匹配和多尺度训练功能,使其在轻量化(yolov5s仅7MB)与高性能(最高51.2% mAP)间取得平衡,但缺乏正式论文支撑是

guoguozgw的博客 1804

在MacOS上构建以太坊开发环境

以太坊是流行的区块链去中心化平台。作为本文的一部分,你将了解如何在MacOS平台上设置以太坊。 首先需要对区块链和以太坊有基本理解,即什么是以太坊之类的? 工具集 以太坊开发生态系统包括以下工具列表。 HomeBrew:HomeBrew是MacOS的软件包管理器。它可以帮助你安装苹果不提供的软件包之类的东西。 xcode命令行工具:在安装homebrew之前,需要安装xcode。我们需要Xcod...

mongo_node的专栏 1374

C#:实现统计图像主颜色的算法(附完整源码)

C#:实现统计图像主颜色的算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 517

2025 年以太坊和 Polkadot 生态中有哪些关键进展值得关注?

2025 年,以太坊演进将聚焦于链抽象和协议级别的升级,Polkadot 则依然是跨链实验的温床,其中有哪些关键进展值得我们关注?

TechubNews的博客 1075

嵌入式工程师成长之路(3)——PCB设计

带有目的的学:要知道,PCB板子做出来需要我们给厂家哪些东西,我们设计板子的时候,需要遵循哪些设计规范,防止画好也是块废板子。然后再逐步开始学习画板。

云轩阁 8万+

【OD统一考试(C卷)考生抽中题】符号运算(200 分),用 C++ 编码,速通

3. 结果为整数或分数, 分数必须化为最简格式(比如 6, 3/4, 7/8, 90/7)参加华为 od 机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。字符串格式的表达式,仅支持±*/,数字可能超过两位,可能带有空格,没有负数。4. 除数可能为 0,如果遇到这种情况,直接输出"ERROR"1. 所有的输入数字皆为正整数(包括 0)用例的输入一定合法, 不会出现括号不匹配的情况。结果可能是负数, 负号放在最前面。表达式结果,以最简格式表达。长度小于 200 个字符。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1763

以太坊项目日渐冷门:以太坊链项目开发的现状与未来

随着加密货币和区块链技术的飞速发展,以太坊(Ethereum)曾一度成为去中心化应用(DApp)开发和智能合约执行的首选平台。然而,近年来,尽管以太坊依然占据着较为重要的位置,但其在项目开发中的热度逐渐减弱,越来越多的开发者和项目团队开始将目光投向其他区块链平台。本文将探讨以太坊项目为何逐渐冷门,并深入分析以太坊链项目开发的现状、面临的挑战及未来可能的发展方向。

Lovely_xwys的博客 1313

01-系统技术架构师必备——软件架构设计基础与核心概念

摘要 本文系统阐述了软件架构设计的核心概念与方法论,重点涵盖以下内容:1)软件架构的四大要素(构件、连接件、约束、配置)及其边界划分;2)Garlan & Shaw五大架构风格(数据流、调用/返回、独立构件、虚拟机、仓库)的典型应用场景;3)基于电商库存系统的架构选型实战案例,展示如何根据业务需求(高并发、最终一致性)选择事件驱动架构配合Saga模式;4)介绍ABSD、DSSA等主流架构方法论及ISO/IEEE标准体系。文章融合金融与互联网领域的架构实践经验,为技术架构师提供系统性的知识框架和决策参考。

模界 | AI工程化实践者 181

以太坊开发者工具的最新清单

以太坊开发者工具的最新终极清单,用于在以太坊上开发应用程序的可用工具,组件,框架和平台的指南。 对于任何开发者,无论你是一个睁大眼睛的Web3新手还是一个头发灰白的OG加密无政府主义技术霸主,Github都是你的朋友。特别是ConsenSys Github可能是你在整个互联网上找到的最明确的Ethereum开发工具库。 无论是基础知识,编码语言,IDE,API,ABI,框架,最佳实践,智能合约标准...

mongo_node的专栏 1524

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 转:Tendermint 简介
下一篇: iOS应用程序如何调用以太坊智能合约
落叶无声9
博客等级 码龄12年 443粉丝 343原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值