重點函數(shù)
x.transfer(value)轉(zhuǎn)value數(shù)量的以太坊到adress類型的x地址。
send 是 transfer 的低級版本。如果執(zhí)行失敗,當前的合約不會因為異常而終止,但 send 會返回 false。
警告
在使用 send 的時候會有些風險:如果調(diào)用棧深度是 1024 會導致發(fā)送失敗(這總是可以被調(diào)用者強制),如果接收者用光了 gas 也會導致發(fā)送失敗。 所以為了保證 以太幣Ether 發(fā)送的安全,一定要檢查 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;//你打到智能合約里的以太坊數(shù)量
admin1.transfer(value/3);//平均分配
admin2.transfer(value/3);
admin3.transfer(value/3);
}
}