solidity智能合约[25]-转账的3种方式与比较
转账的3种方式
123 |
address.transfer()address.send()address.call.value().gas()() |
转账transfer
12345678910 |
function transfer(address _address) public payable{ _address.transfer(msg.value); } function transfer2(address _address) public payable{ _address.transfer(10 * 10**18); } |
转账send
123 |
function transfer4(address _address) public payable { _address.send(10 ether); } |
转账call
123 |
function transfer5(address _address) public payable returns(bool){ return _address.call.value(10 ether)();} |
对比总结
123456 |
transfer与send相似,都为转账操作transfer出错抛出异常send、call出错不抛出异常,返回true或falsetansfer相对send更安全send、call即便转账失败也会执行其后的代码慎用call函数转账,容易发生重入***。 |
本文链接: https://dreamerjonson.com/2018/11/20/solidity-25-thansfer2/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!
转载于:https://blog.51cto.com/13784902/2321573
solidity智能合约[25]-转账的3种方式与比较相关推荐
- Solidity智能合约库:区块链工程师的随身工具箱
编者荐语: Solidity使用起来不如其他语言那般丝滑顺畅?安全事故难以避免?社区迎来适用于FISCO BCOS的Solidity智能合约库,轻松破解合约的各种小难题,让合约开发更加快速高效.省时省 ...
- 微众银行Solidity智能合约库:区块链工程师的随身工具箱
区块链技术在经历了十余年的发展后,渐呈"燎原之势",不断在各行业落地生根.但同时,从技术的角度看,区块链应用开发仍然有着较高的门槛,存在不少痛点.为了提升应用开发各环节的用户体验, ...
- 智能合约 与 外部账号之间转账,智能合约与智能合约之间转账
从外部账户向智能合约账户转账以太币 外部账户给部署智能合约时给合约初始转账: 使用remix 测试环境 pragma solidity >=0.4.0 <0.7.0;contract Te ...
- solidity智能合约开发简介
1.solodity简介 Solidity语言是一种以太坊智能合约高级编程语言,运行在以太坊(Ethereum)虚拟机(EVM)之上. Solidity语言是一种语法类似JavaScript的高级编程 ...
- 以太坊solidity智能合约-生成随机数
Solidity随机数生成 在以太坊的只能合约中,没有提供像其他面向对象编程一样的生成随机数的工具类或方法.其实,所谓的随机数也是伪随机的,没有哪一种语言能够真正的生成随机数. 对于solidity来 ...
- Solidity 智能合约入门
Solidity 智能合约入门 存储合约示例 将一个数据放置在链上 // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.4.16 &l ...
- solidity智能合约中tx.origin的正确使用场景
简介 tx.origin是Solidity的一个全局变量,它遍历整个调用栈并返回最初发送调用(或事务)的帐户的地址.在智能合约中使用此变量进行身份验证会使合约容易受到类似网络钓鱼的攻击. 但针对tx. ...
- web3j用于solidity智能合约maven插件
web3j maven插件用于基于solidity智能合约文件创建java类. 用法 插件的基本配置将从src/main/resources获取solidity文件,并将java类生成到src/mai ...
- 【区块链实战】Solidity 智能合约如何给账户充值
目录 一.实战场景 二.知识点 智能合约 智能合约函数 智能合约充值 payable 关键字 智能合约部署地址 智能合约的运行 合约 this 对象 三.菜鸟实战 四.运行结果 一.实战场景 Soli ...
最新文章
- 数据库基础笔记(MySQL)7 —— 存储引擎和视图 ( 完结撒花 )
- 【刷算法】LeetCode.278-第一个错误的版本
- 网易云音乐刷听歌量_榆林网易云音乐粉丝量主要方式
- 数据结构_栈与队列_总结
- get event by http request via CL_HTMLB_MANAGER
- 我遇到的Quartus II警告及原因——持续更新
- Windows平台下使用Active Directory对Subversion进行权限控制(非完美解决方案)
- Python中的一些特殊函数
- 【kafka】kafka 判断消费组死掉方案 group dead
- 虚拟机的管理(libvirtd)、移植和快照
- 只用两个函数实现事务的设计模式!
- 计算几何-判断两条线段是否相交
- Java基础学习,一些零散的笔记之抽象类与接口
- kettle连接GBASE数据库
- 数据库基本语句(SQL)
- IPFS BZZ Chia,项目这么多,怎么选择?
- 自动切换输入法 for Mac(输入法辅助工具)
- docker CMD 命令
- 关联规则:R与SAS的比较
- TCP之 select模型
热门文章
- 1418 This function has none of DETERMINISTIC,NO SQL,or R
- 从头开始学JavaScript (五)——操作符(二)
- 韩军星:汇报工作的四个层级
- Struts2动态方法调用
- 华夏幸福发布2018年业绩简报 整体销售面积同比增57.56%
- 干净架构在 Web 服务开发中的实践
- Saiku_学习_01_saiku安装与运行
- 疯狂ios讲义疯狂连载之游戏的状态数据模型
- 销售易发布旗舰版移动CRM及PaaS平台 产品比肩Salesforce
- Python学习日志(5)- Numpy