区块链中的gas与转账收款相关概念

2024-06-15 23:28

本文主要是介绍区块链中的gas与转账收款相关概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

区块链是一个经济系统

  • 计算与存储系统都是稀缺的,区块链的工作需要消耗资源
  • 共识、trustless需要矿工的工作,而矿工需要激励
  • Transaction的执行有成本(gas),gas费成为矿工的奖励
  • ether是这个经济生态系统的通行货币
    在这里插入图片描述

关心的问题

  • 合约执行中的经济成本,即gas问题
  • 智能合约实现货币的流通,即转账收款功能

货币转换单位

在这里插入图片描述

合约持有ether

  • address.balance:合约可以有钱!
  • 合约与其他合约或者EOA之间可以转账
  • multisig钱包

gas和转账-函数调用的选项

  • 转账是与函数调用一起发生的。转账就是函数调用
  • 调用时加上调用选项在这里插入图片描述

gas、gasprice、gaslimit的解释-理清区别,搞懂关系

gas、gas fee、gas price

  • 实际的gas是完全由执行逻辑决定的,一个固定的逻辑的合约函数执行,gas没有变化
  • 有变化的是gas的price,是由交易者发起者在transaction中设定
  • gas price由市场定价
  • gas fee是gas*gasprice

gaslimit与gasleft()函数

  • 交易发起者设定最多消耗多少:gaslimit
  • 合约之间调用,调用者可以设定gaslimit
  • 区块本身有一个gaslimit
    gasleft()是以上因素作为限定,与当前gas消耗一起计算的结果

退款规则

  • 剩下没用完的gas会“退款”;
  • 如果可用gas耗尽时,会终止交易执行;
  • 交易失败时,已经用了的gas不退

这篇关于区块链中的gas与转账收款相关概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1064876

相关文章

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET