Solidity_往合约里打币自动分配给指定账户

重点函数

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);
    }
}

你可能感兴趣的:(Solidity_往合约里打币自动分配给指定账户)