从外部账户向智能合约账户转账以太币
外部账户给部署智能合约时给合约初始转账: 使用remix 测试环境
pragma solidity >=0.4.0 <0.7.0;
contract Test{uint256 public test1;
//保存指定地址的合约的余额
address payable owner;
//保存合约的所有者,即为部署合约的外部账户,设置payable 属性constructor()public payable{// 合约构造函数
owner = msg.sender;
// 设定智能合约的所有者
test1 = 0;
// 初始化为0
msg.value;
//外部账户在部署时给合约账户转账msg.value以太币
}function svalue(address payable addr)public payable{
//输入地址,给相应地址转账5 个以太币,这里是的单位是Gwei
addr.transfer(5* 10**18);
}
//输入地址,获取整个地址的余额
function getblance(address payable addr)public payable{
test1 = addr.balance;
}
//设置fallback 函数,为payable属性,如果不设置这个函数,智能合约则不能接受其他合约和账户的转账
fallback() external payable{}}
选择账户地址1:0x4658C20652f24a07cB714148600F3c2390f61d6e
部署合约地址1:0xC9c97A300086210df2Fc4373dA6f75cCAF7f12aC
设置VALUE为30以太币,部署结果如下图所示:
文章图片
可以看到图中accounts 旁边的余额变成了69.999 以太币,查询当前合约地址账户余额:
文章图片
输入查询地址,然后点击变量test1,可见余额为30以太币。
智能合约向外部账户转账 依然是上文的部署合约,我们将转账函数接受地址设定为部署合约的外部地址,结果如下:
文章图片
当前合约剩余以太币为25以太币,向外部账户转移了5个以太币。
文章图片
可见外部账户,多出5个以太币。
智能合约之间转账 【智能合约 与 外部账号之间转账,智能合约与智能合约之间转账】智能合约之间也可以按照以上方式转账
推荐阅读
- 推动NFT走出监管困境,BSN推出支持NFT基础设施网络
- 腾讯|SaaS的收入模型有哪些(终于有人讲明白了)
- 就业方向上什么才是最重要的(--- 来自程序猿的迷茫。(C++?Java?or算法?))
- 区块链中加密货币的含义
- 波场万倍潜力币HYL23号21:09分 正式上线JustSwap
- 《瀚兰房地产开发区块链应用及案例分享》BSN培训精华回顾
- 对联盟链而言,跨链协议为什么重要()
- 区块链能够应用在哪些行业
- BSN区块链服务网络中密钥托管模式和公钥上传模式有啥区别()
- 币圈人物传|币圈大佬今何在 唯有一诺正当时