Ethereum: Как автоматически разделить транзакцию ETH на 2 другие транзакции - PullRequest
0 голосов
/ 29 июня 2018

Допустим, у меня есть общий кошелек, где собираются эфиры для меня и моего брата. Мы разделяем 50% друг друга в этом кошельке.

если в этот кошелек приходит одна транзакция ETH, существует ли автоматический способ автоматической отправки полученных эфиров на мой личный кошелек и на мой брат, без каких-либо специальных действий для нас?

Можно ли это сделать с помощью специального смартконтракта (с запасным вариантом) или любым другим способом?

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Вы можете развернуть этот контракт (не забудьте изменить адреса)

Когда кто-то посылает вам эфиры, ему нужно поставить 100000 газа, этот дополнительный газ должен отправить 2 транзакции: для вас и вашего брата

pragma solidity ^0.4.25;
contract Split {
    address public constant MY_ADDRESS = 0x5Ac652E32b8064000a4ab34aF0AE24E4966E309E;
    address public constant BRO_ADDRESS = 0x43CcDF0774813B6E14E64b18b34dE438B039663C;

    function () external payable {
        if (msg.value > 0) {
            // msg.value - received ethers
            MY_ADDRESS.transfer(msg.value / 2);
            // address(this).balance - contract balance after transaction to MY_ADDRESS (half of received ethers)  
            BRO_ADDRESS.transfer(address(this).balance);
        }
    }
}
0 голосов
/ 17 августа 2018

Да. Взгляните на разделенный платеж Open Zeppelin: https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/payment/SplitPayment.sol

Это использует претензии, но вы могли бы сделать что-то подобное и использовать интеллектуальный запасной вариант контракта, чтобы автоматизировать это.

...