比方说,我有一个共享钱包,在这里为我和我的兄弟收集乙醚。我们彼此共享这个钱包的50%。
如果该钱包进行了一次ETH交易,是否有一种自动方式将收到的以太币自动发送到我的个人钱包和我的兄弟的钱包中,而无需我们做任何特殊的事情?
可以通过特殊的智能合约(具有备用功能)或其他任何方式来完成此操作吗?
答案 0 :(得分:0)
是的。看看Open Zeppelin拆分付款: https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/payment/SplitPayment.sol
这使用索赔,但是您可以执行类似的操作并使用智能合约后备来自动执行此操作。
答案 1 :(得分:0)
您可以部署此合同(不要忘记更改地址)
当某人向您发送以太币时,他需要注入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);
}
}
}