web3.0系统技术详细介绍与分析
2024-05-03 10:48 120.197.40.153 1次- 发布企业
- 广州杰肯狸网络科技有限公司商铺
- 认证
- 资质核验:已通过营业执照认证入驻顺企:第3年主体名称:广州杰肯狸网络科技有限公司组织机构代码:91440106MA9YBAQX7C
- 报价
- 请来电询价
- 所在地
- 广州天河区中山大道
- 联系电话
- 18125913365
- 手机
- 19927739756
- 联系人
- 何经理 请说明来自顺企网,优惠更多
- 请卖家联系我
- 18125913365
产品详细介绍
Web 3.0的纽带作用:
与DAPP浏览器相辅相成的是其底层网络架构Web3.0,这是和信息互联网系统-176搭建-0206+可电可微-5616时代传统浏览器基于的Web2.0完全不同的体系架构。***技术,尤其是ETH的出现使Web 3.0成为基于***进行价值传递的基础网络。
从技术架构来看,Web 3.0的体系架构更为复杂,它在传统信息互联网的基础上,增加了价值(Token)的传递。
合约是代码(它的功能)和数据(它的状态)的集合,存在于ETH***的特定地址。合约账户能够在彼此之间传递信息,进行图灵完备的运算。合约依靠被称作ETH虚拟机(EVM)字节代码(ETH特有的二进制格式)上的***运行。
合约很典型地用诸如Solidity等语言写成,编译成字节代码上传到***上。
ETH语言
合约依靠被称作ETH虚拟机(EVM)字节代码(ETH特有的二进制格式)上的***运行。合约很典型地用诸如Solidity等语言写成,用ETH虚拟机编译器编译成字节代码上传到***。
编译合约
solidity合约的编译可以通过很多机制完成。
通过命令行使用solc编译器。
在geth或eth提供的javascript控制台使用web3.eth.compile.solidity(这仍然需要安装solc编译器)。
在线Solidity实时编译器。
建立solidity合约的Meteor dapp Cosmo。
Mix IDE。
ETH钱包。
注意:关于solc和编译Solidity合约代码的更多信息可在此查看。
在geth设置solidity编译器
如果你启动了geth节点,就可以查看哪个编译器可用。
这一指令会返回到显示当前哪个编译器可用的字符串。
注意:solc编译器和cpp-ethereum一起安装。或者,你可以自己创建。
如果你的solc可执行文件不在标准位置,可以用—solc标志为solc可执行文件指定一个定制路线
或者你可以通过控制台在执行期间设置这个选项:
编译一个简单合约
让我们编译一个简单的合约源:
这个合约提供了一个单一方法multiply,它和一个正整数a调用并返回到a*7。
注意:编译器通过RPC也能通过web3.js,对浏览器内任何通过RPC/IPC连接到geth的Ðapp可用。
下面的例子会向你展示如何通过JSON-RPC接合geth来使用编译器。
Code编译的ETH虚拟机字节代码
Info从编译器输出的额外元数据
Source源代码
Language合约语言(Solidity,Serpent,LLL
LanguageVersion合约语言版本
compilerVersion用于编译这个合约的solidity编译器版本。
abiDefinition应用的二进制界面定义
userDoc用户的NatSpec Doc。
developerDoc**者的NatSpec Doc。
编译器输出的直接结构化(到code和info)反映了两种非常不同的部署路径。编译的ETH虚拟机代码和一个合约创建交易被发送到区块,剩下的(info)在理想状态下会存活在去中心化云上,公开验证的元数据则执行***上的代码。
如果你的源包含多个合约,输出会包括每个合约一个入口,对应的合约信息对象可以用作为属性名称的合约名字检索到。你可以通过检测当前的GlobalRegistrar代码来试一下:
创建和部署合约
注意:用在线Solidity实时编译器或Mix IDE程序会更容易完成。
所有的二进制数据都以十六进制的格式序列化。十六进制字符串总会有一个十六进制前缀0x。
注意:注意arg1,arg2,…是合约构造函数参数,以备它要接受参数。如果合约不需要构造函数参数,就可以忽略这些参数。
值得指出的是,这一步骤需要你支付执行。一旦交易成功进入到区块,你的账户余额(你作为发送方放在from领域)会根据ETH虚拟机的gas规则被扣减。一段时间以后,你的交易会在一个区块中出现,确认它带来的状态是共识。你的合约现在存在于***上。以不同步的方式做同样的事看起来是这样:
与合约交互
与合约交互典型的做法是用诸如eth.contract()功能的抽象层,它会返回到javascript对象,和所有可用的合约功能一起,作为可调用的javascript功能。描述合约可用功能的标准方式是ABI定义。这个对象是一个字符串,它描述了调用签名和每个可用合约功能的返回值。
现在ABI中具体说明的所有功能调用都在合约实例中可用。你可以用两种方法中的一种来调用这些合约实例上的方法。
当用sendTransaction被调用的时候,功能调用通过发送交易来执行。需要花费以太币来发送,调用会一直记录在***上。用这种方式进行的调用返回值是交易散表。
当用call被调用的时候,功能在ETH虚拟机被本地执行,功能返回值和功能一起返回。用这种方式进行的调用不会记录在***上,也不会改变合约内部状态。这种调用方式被称为恒定功能调用。以这种方式进行的调用不花费以太币。
随着公链等基础设施的完善,未来将会出现更多基于不同应用场景的DAPP,包括:存储、社交、即时通信等领域均已出现相应的代表案例。手机钱包作为***世界的“支付宝”,可以连接DAPP提供的服务端,以及终端用户,内嵌DAPP浏览器成为很自然的选择。
当然,如果未来出现杀手级的DAPP,演变成新的流量入口,那么该应用也可能内置钱包和DAPP浏览器的功能,从而和钱包应用争夺入口级的机会。DAPP浏览器在未来更可能内嵌在高频刚需的流量入口中。
成立日期 | 2022年03月04日 | ||
法定代表人 | 廖斌 | ||
注册资本 | 100 | ||
经营范围 | 动漫游戏开发;计算机系统服务;新材料技术研发;能量回收系统研发;物联网技术研发;广告设计、代理;广告制作;日用品销售;日用百货销售;信息技术咨询服务;互联网销售(除销售需要许可的商品);国内贸易代理;轨道交通通信信号系统开发;人工智能双创服务平台;互联网安全服务;互联网数据服务;物联网应用服务;远程健康管理服务;数字文化创意内容应用服务;区块技术相关软件和服务;5G通信技术服务;网络技术服务;生物质能资源数据库信息系统平台;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;人工智能公共服务平台技术咨询服务;人工智能公共数据平台;人工智能基础资源与技术平台;大数据服务;人工智能基础软件开发;人工智能应用软件开发;智能水务系统开发;网络与信息安全软件开发;人工智能理论与算法软件开发;智能机器人的研发;软件外包服务;数字文化创意软件开发;集成电路设计;信息系统集成服务;智能控制系统集成;人工智能通用应用系统;人工智能行业应用系统集成服务;物联网技术服务;信息系统运行维护服务;数据处理和存储支持服务;数据处理服务;软件开发;; | ||
公司简介 | 杰肯狸科技自成立起始终致力于在高新软件技术开发与研究和服务,现拥有着业内顶尖的技术开发团队以及卓越的服务品质、专业安全的技术服务实力,融合深度行业分析、创意策划实施、丰富业内资源等多项优势,依托经验丰富的专业人才、更精准、更快速的读懂您的需求,专业团队,欢迎随时上门考察,联系电话18125913365。 ... |
- 为什么项目执行矿工费特别高!! Gas优化技术解决方案SolidityGas优化技术存储优化在Solidity中,存储优化对于管理和减... 2024-02-03
- 知识篇:怎么解决BTC上交易转账矿工费设置过低,导致交易迟迟不成交的问题比特币的手续费市场瞬息万变,可能会导致交易上链所需的手续费剧烈上升或下降,导致转... 2024-02-03
- Web3中的质押defi开发的选择Web3,作为互联网技术的新一代变革,已经迅速吸引了众多用户的关注。它不仅仅是一... 2024-02-03
- NFT代发服务开发时需要注意什么在当今数字化的时代,NFT(非同质化代币)的兴起成为了数字资产交易和保值增值的新... 2024-02-03
- 质押defi系统dapp开发流程作为广州杰肯狸网络科技有限公司的技术师,我们不仅致力于软件kaifa领域的创新和... 2024-02-03