【区块链实战】Solidity 智能合约如何给账户充值

这篇具有很好参考价值的文章主要介绍了【区块链实战】Solidity 智能合约如何给账户充值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、实战场景

二、知识点

智能合约

智能合约函数

智能合约充值

payable 关键字

智能合约部署地址

智能合约的运行

合约 this 对象

三、菜鸟实战

四、运行结果


一、实战场景

Solidity 智能合约如何给账户充值

二、知识点

  • 智能合约

  • 智能合约函数

  • 智能合约充值

  • payable 关键字

  • 智能合约部署地址

  • 智能合约的运行

  • 合约 this 对象

三、菜鸟实战

// SPDX-License-Identifier: GPL-3.0
// Author: 菜鸟实战
// Description: 智能合约如何给账户充值
// 编译器版本
pragma solidity >=0.7.0 <0.9.0;

// 知识点
// # 智能合约
// # 智能合约函数
// # 智能合约充值
// # payable 关键字
// # 智能合约部署地址
// # 智能合约的运行
// # 合约 this 对象

// ## 合约地址
// 合约部署后会形成一个地址,这个地址和账户地址的格式是一样的,它可以像普通账户那样接受转账交易
// ## payable 关键字
// 凡是涉及 eth 转移的函数或者地址,都要加上关键字 payable ,代表可支付
// ## 合约 this 对象
// 每个合约内部有一个 this 对象,在合约中可以将其转化为 address 类型,从而可以获得账户余额

// 合约名称
contract DepositAction {

    address public sender;  // 发送者

    // 构造函数
    constructor() public {
        sender = msg.sender;
    }


    // 充值,注意要加 payable
    function deposit() public payable {
        //nothing to do
    }

    // 获取余额
    function getBalance() public view returns (uint256) {
        // 强制转换为地址类型
        return address(this).balance;
    }
}

四、运行结果

1、充值金额

智能合约 用户充值,区块链实战,区块链,智能合约,以太坊

2、充值并查看结果

智能合约 用户充值,区块链实战,区块链,智能合约,以太坊文章来源地址https://www.toymoban.com/news/detail-698926.html

到了这里,关于【区块链实战】Solidity 智能合约如何给账户充值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【区块链-智能合约工程师】第三篇:Solidity进阶(一)

    学习资料地址:WTF学院 库合约一般都是一些好用的函数合集(库函数),为了提升solidity代码的复用性和减少gas而存在。他和普通合约主要有以下几点不同: 不能存在状态变量 不能够继承或被继承 不能接收以太币 不可以被销毁 String库 String库合约是将uint256(大正整数)类型

    2024年02月06日
    浏览(54)
  • 区块链智能合约solidity的中的一些关键字

    目  录 pragma mapping msg对象 block对象 contract constructor struct 数据地址 地址类型 address payable revert 以下场景使用 revert() : require 以下场景使用 require() : assert 以下场景使用 assert(): 访问权限 internal public private external function returns return view pure constant event emit modifier pragma   

    2024年01月16日
    浏览(76)
  • 区块链web3智能合约Solidity学习资源整理

    Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。 Solidity中文官方文档: https://solidity-cn.readthedocs.io/zh/develop/ https://learnblockchain.cn/docs/solidity/index.html 在线rem

    2024年03月19日
    浏览(73)
  • 智能合约安全分析,假充值攻击如何突破交易所的防御?

    引言 假充值攻击,是指攻击者通过利用交易所在处理充值过程中的漏洞或系统错误,发送伪造的交易信息到交易所钱包地址,这些伪造的交易信息被交易所误认为是真实的充值请求,并将对应的数字资产或货币添加到攻击者的账户中。攻击者利用这种方式,可以获得未经支付

    2024年02月09日
    浏览(48)
  • 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证)

    前置参考文档:https://blog.csdn.net/sinat_34104446/article/details/130557703 合约验证是上传合约源代码到etherscan过程,在智能合约项目中,通常都是提供源码验证,增加项目信任度 验证合约后可以直接在etherscan上执行获取和设置方法,方便日常的管理员维护 以下使用remix进行验证并使用

    2024年02月05日
    浏览(75)
  • 《区块链原理与技术》学习笔记(四) ——以太坊的基本架构、账户模型和智能合约

    《区块链原理与技术》学习笔记 第四部分 三、以太坊 1. 以太坊简介 1.1 以太坊发展的阶段 1.2 以太坊与比特币对比 2. 以太坊的基本架构及原理 2.1 基本概念 2.2 状态转移 2.3 基本架构 3. 账户模型与转账 3.1 账户模型 4. 智能合约 4.1 合约账户与数据存储 4.2 驱动智能合约 以太坊

    2024年02月13日
    浏览(48)
  • 如何成为资深 solidity 智能合约工程师

    原文发布在 https://github.com/33357/smartcontract-apps 这是一个面向中文社区,分析市面上智能合约应用的架构与实现的仓库。欢迎关注开源知识项目! 熟悉 Solidity 语法和数据结构,能使用 hardhat 完成智能合约的自动化测试、优化、部署、交互和 SDK 封装。 熟悉 Openzipplin 的所有库文

    2023年04月23日
    浏览(75)
  • 【区块链技术开发】 Solidity使用Truffle Box工具实现预构建模板、自动化部署、创建智能合约示例代码

    专栏:区块链技术开发 Truffle Box是一个开发工具,为Truffle生态系统中的开发人员提供了预构建

    2023年04月16日
    浏览(70)
  • solidity学习-如何在智能合约中打印Log日志

    在写合约的过程中经常会遇到一些错误。这个时候想要查看合约运行过程中的一些数据,那么就可以用以下方法: 在合约中创建一个Event,起名为Log 在想要打印日志的地方调用事件 emit Log(...),就可以查看运行过程中的数据了 如下图: 点击deploy,在控制台就可以查看打印出

    2024年02月11日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包