重点函数
x.transfer(value)
转value数量的以太坊到adress类型的x地址。
send 是 transfer 的低级版本。如果执行失败,当前的合约不会因为异常而终止,但 send 会返回 false。
警告
在使用 send 的时候会有些风险:如果调用栈深度是 1024 会导致发送失败(这总是可以被调用者强制),如果接收者用光了 gas 也会导致发送失败。 所以为了保证 以太币Ether 发送的安全,一定要检查 send 的返回值,使用 transfer 或者更好的办法: 使用一种接收者可以取回资金的模式。
pragma solidity ^0.4.22;
/*
+------------------------------------------------------------------------------+
| |
| XX XXXXX XXXXXX XXXXXXXXXXX XXXXXXXXXX |
| XX XX XXX XXX XXX X X X X |
| XX XX X X X XXXXXXXXXXX X X |
| XXXXXXXXX X X X X X |
| XX XX X X X X X |
| XX X X X XXXXXXXXXXX X X |
| |
| |
+------------------------------------------------------------------------------+
*/
contract snedEthTo {
address public admin1 = 0xDD9f99Eb01EABd68Df29De8da724C184f849Cb61;
address public admin2 = 0xFb925DE3d2C738b3c687C6a36C093fe0aD3fc9da;
address public admin3 = 0xb5cC6fdefd7be7534b3C88CE8e36f38Ca65d01b0;
function send() public payable{
uint value=msg.value;//你打到智能合约里的以太坊数量
admin1.transfer(value/3);//平均分配
admin2.transfer(value/3);
admin3.transfer(value/3);
}
}