solidity开发 msg.value

这篇具有很好参考价值的文章主要介绍了solidity开发 msg.value。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

刚学完solidity的基础开发,想写一个众筹项目,在使用msg.value的时候,发现只要函数中使用到msg.value,就会自动转走账户的钱到该合约账户里。这让我非常疑惑,那怎么转出来呢?我写了一个demo来测试。

pragma solidity ^0.4.26;

contract sendmoney{

    uint a;
    //用于获取当前合约账户的钱
    function getBalance() returns(uint){
        return this.balance;
    }
    function transfer() payable {
        a = msg.value; //用于接收sender转的eth
    }
    function sendMoney() {
        address add = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db;//这是我的一个测试账户
        add.transfer(a); //将eth从合约账户转到指定账户里
        
    }
    
}

测试结果是:当我调用transfer()时,会扣除sender的eth,转到当前合约账户中,而再调用sendMoney()之后,eth会从合约账户里转到测试账户里。
我的理解是,msg.value里携带的就是sender的eth的信息(简单理解为msg.value就是一笔钱),在上面代码里sender的eth的信息由a携带(a就是这笔钱),a在被转入其他账户之前都是被放在合约账户里。文章来源地址https://www.toymoban.com/news/detail-503788.html

到了这里,关于solidity开发 msg.value的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Solidity 关键词说明(payable transfer event modifier msg external public view pure memory)

    在 Solidity 中, payable 是一个,用于表示函数可以接收以太币(ether)的转账。如果一个函数被声明为 payable ,那么它就可以接收以太币的转账,而不仅仅是使用以太币作为参数进行函数调用。 例如,下面是一个声明了 payable 的函数: 在上面的代码中,函数 buy

    2024年02月04日
    浏览(40)
  • 基于以太坊的智能合约开发Solidity(基础篇)

    参考教程:基于以太坊的智能合约开发教程【Solidity】_哔哩哔哩_bilibili (1)程序编译完成后,需要在虚拟机上运行,将合约部署好后便可执行刚刚编写的函数。(注意, 合约一旦部署,就会永久存在于区块链上,且不可篡改 ,不过可以销毁) (2)执行完成后,可以得到以

    2024年02月04日
    浏览(56)
  • Solidty基础篇2-映射、msg、require、继承、引入、存储变量、函数内部和外部可见性

    映射(Mapping)和地址(Address) 映射_ 是另一种在 Solidity 中存储有组织数据的方法。 映射本质上是存储和查找数据所用的键-值对。在第一个例子中,键是一个 address,值是一个 uint,在第二个例子中,键是一个uint,值是一个 string。 msg.sender 有一些全局变量可以被所有函数调

    2023年04月09日
    浏览(32)
  • 刚学完二叉树,来试试这些oj题练练手吧!

    🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔🍟🌯C语言进阶 🔑个人信条: 🌵知行合一 🍉本篇简介::记录力扣的一些有关二叉树的入门题目.分享解题经验. c语言实现:单值二叉树,相同的树,对称二叉树 金句分享: ✨总不能一生碌碌

    2024年02月12日
    浏览(35)
  • UG\NX二次开发 非模态消息对话框函数 UF_UI_display_nonmodal_msg

    文章作者:里海 来源网站: https://blog.csdn.net/WangPaiFeiXingYuan         uc1601函数提供了一个模态消息对话框,ufun函数中还有一个非模态消息对话框,运行一次弹出一个窗口,不点确定不消失,对话框显示后不影响使用其他命令运行。         UF_UI_display_nonmodal_msg的第二个参

    2024年02月15日
    浏览(48)
  • Solidity基础六

    生活本来就是平凡琐碎的,哪有那么多惊天动地的大事,快乐的秘诀就是不管对大事小事都要保持热情 目录 一、Solidity的特殊变量(全局) 二、Solidity的不可变量 immutable的赋值方式  三、Solidity的事件与日志 事件和日志加深理解 四、Solidity的异常处理 1.require() 2.assert() 3.revert

    2024年02月09日
    浏览(41)
  • Solidity基础八

    别慌,月亮也在大海某处迷茫  目录 一、Solidity 编程风格 1. 代码布局  2. 代码中各部分的顺序 3. 命名约定 二、Solidity 智能合约编写过程 1. solidity Hello World 2. 版本声明 3. 导入声明 4. 合约声明 三、Solidity 合约结构 智能合约 Test 四、Solidity 常见编译错误 五、Solidity 调用合约

    2024年02月07日
    浏览(55)
  • Solidity基础七

    无论风暴将我带到什么岸边,我都将以主人的身份上岸 目录 一、Solidity的单位  1. 货币Ether 2. 时间单位Time 二、地址的形成 三、以太坊的账户 1.内部账户(简称CA) 2.外部账户(简称EOA) 3.内部账户和外部账户的比较  4.判断是内部账户还是外部账户的方法 四、消息调用和余

    2024年02月06日
    浏览(47)
  • Solidity基础

    我们的学习方式是基于项目的,remix是我们写代码的地方.Remix - Ethereum IDE 在你的智能合约中你总是要做的第一件事情就是告诉Solidity,你正在使用哪个版本的solidity,并且加上SPDX许可。 接下来创建你的contract并为他命名(类似于其他语言的class) 第一个程序 每个合约都有一个

    2024年01月23日
    浏览(41)
  • solidity笔记1(基础部分)

     以太坊Solidity是一种面向智能合约的高级语言,其语法与JavaScript类似。solidity是用于生成在EVM上执行的机器级代码的工具。solidity编译器获取高级代码并将其分解为更简单的指令。Solidity代码封装在Contracts中。 因为之前实验课程已经完成了相关内容,所以主要整理一部分个人

    2023年04月15日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包