以太坊智能合约开发:让合约接受转账
以太坊智能合约开发:让合约接受转账
在以太坊智能合约开发中,通常会有向合约地址进行转账的需求,那么有几种向合约地址进行转账的方式呢?
有三种方式:
- 部署合约时转账
- 调用合约提供的方法
- 直接向合约地址进行转账
但有一个问题,以太坊的智能合约默认是拒绝来自任何地址的转账,那么如何让合约能够支持接收转账呢?
1、部署转账
在进行合约开发时,如果想要在部署时,直接向该合约进行转账,只需要给构造函数中添加payable
修饰符。
示例:
contract Test {// 构造函数添加payable修饰符即可function Test() payable {// 构造函数其他逻辑代码 }
}
2、执行合约转账
执行合约转账,则需要给你需要支持转账功能的方法添加payable
修饰符
示例:
contract Test {function getBalance() payable {// 其他逻辑}
}
3、直接转账
支持直接转账,需要借助后备函数(fallback function),只需要为后备函数添加 payable
修饰符
示例:
contract Test {function () payable {// 其他逻辑}
}
附录
- 函数修饰符(Function Modifiers)
- 内部修饰符
以太坊智能合约开发:让合约接受转账相关推荐
- Python开发以太坊智能合约指南(web3.py)
在以太坊上获得一个基本的智能合约是一个很简单的事,只需google查询"ERC20代币教程",你会发现有关如何做到这一点的大量信息.以编程方式与合约交互完全是另一回事,如果你是一个 ...
- 使用hardhat开发以太坊智能合约-测试合约
Web3工具网站[点我访问] 现已上线,欢迎使用,如有好的意见和建议也欢迎反馈. 本系列课程: 第一节:使用hardhat开发以太坊智能合约-搭建环境 第二节:使用hardhat开发以太坊智能合约-测 ...
- Python以太坊智能合约开发指南
在以太坊上获得一个基本的智能合约是一个很简单的事,只需google查询"ERC20代币教程",你会发现有关如何做到这一点的大量信息.以编程方式与合约交互完全是另一回事,如果你是一个 ...
- 以太坊智能合约开发(truffle box pet-shop为例)
开发环境 我在ubuntu环境下开发的,建议装好vscode,nodejs .选用别的编译器也可以. 装好nodejs后装一下truffle. npm install -g truffle truff ...
- 区块链开发(二)部署和运行第一个以太坊智能合约
区块链开发(二)部署并运行第一个以太坊智能合约 李赫2016年8月22日 本文首发8BTC 网络上不少部署智能合约的文章,但是都有一个共同的特点,就是采用命令行的方式来部署,先是建立SOLC的编译环境 ...
- 以太坊智能合约开发第二篇:理解以太坊相关概念
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 很多人都说比特币是区块链1.0,以太坊是区块链2.0.在以太坊平台上,可以开发各种各样的去中心化应用,这些应用构成了以太 ...
- 用Visual Studio开发以太坊智能合约
2019独角兽企业重金招聘Python工程师标准>>> 区块链和以太坊 自从我熟悉区块链.以太坊和智能合约以来,一直失眠. 我一直在阅读,阅读和阅读,最后我能够使用一些工具,他们建议 ...
- truffle (ETH以太坊智能合约集成开发工具) 入门教程
truffle (ETH以太坊智能合约集成开发工具) 入门教程 前言 在你了解区块链开发之前,你有必要了解区块链的一些基础知识,什么是DApp,DApp与传统app的区别, 什么是以太坊,以太坊中的智 ...
- 以太坊智能合约开发第七篇:智能合约与网页交互
原文发表于:以太坊智能合约开发第七篇:智能合约与网页交互 上一篇中,我们通过truffle开发框架快速编译部署了合约.本篇,我们将来介绍网页如何与智能合约进行交互. 编写网页 首先我们需要编写一个网页 ...
最新文章
- 人工智能高薪的背后……
- Nginx防盗链、访问控制、Nginx解析PHP相关配置、Nginx代理
- javascript处理事件的一些兼容写法
- VC2010编译boost
- C++中的开闭原则使用C++多态功能实现附源码
- java的abstract的意思_java – spring中的abstract =“true”是什么意思?
- 得到python默认的帮助文档
- PAT乙级 1003. 我要通过!
- 产生随机数java_java产生随机数的几种方式
- Linux下查看版本及系统信息
- mysql 统计本月的_MySql查询当天、本周、本月、本季度、本年的数据
- 一道经典的C++题,关于分钱的问题,适合新手阅读(黑客X档案论坛题目)
- Linux开机自动挂载Windows分区的两种方法
- 2015-2018节假日表
- C语言正则表达式详解 regcomp() regexec() regfree()详解
- 【地理坐标系、大地坐标系与地图投影与重投影详解】
- java 取当天0点_java 获取当天(今日)零点零分零秒
- 《一本书读懂财报》学习笔记 - 资产是如何计价?
- 【怎么提高测试质量】
- 小孢子的神奇之旅-如何阅读MindSpore报错信息(2)