我的想法是问用户他们想给另一个用户多少小费。然而,我想取5%的金额,并将其发送到另一个地址(作为网站运营商的传输)。
我知道用户必须确认两个事务,但元问询或web3是否有办法进行批量事务或依赖于另一个事务的一个事务?
如果一个用户想给1000美元小费,那么95美分将流向收件人,5美分将转到站点操作员那里。
我想确保他们必须批准这两项交易才能通过(即阻止他们不发送佣金交易)。
对于标准的web3事务来说,这是可能的吗?还是我需要一个智能的合同来处理佣金事务,并将其余的支付给预期的收件人?
发布于 2021-12-03 10:38:23
这可能是最简单的一个聪明的合同为它。单个事务总是只针对一个地址,并且没有本机方式来处理批处理事务。
一些钱包客户端可能提供某种批次事务,但这些可能也不是您所需要的。
您可以考虑要求用户首先发送佣金事务,然后才允许用户发送真正的事务。但是,在我看来,这是对交易(和金钱)的浪费,因为您可以很容易地使用智能合同和单个事务来完成这一任务。
简单的委托函数示例(可能甚至不会编译,但希望能说明要点):
function pay() payable public {
uint mainPart = msg.value * 95 / 100;
uint commission = msg.value - mainPart;
address(0x123).transfer(mainPart);
address(0x345).transfer(commission);
}发布于 2021-12-04 23:36:37
https://ethereum.stackexchange.com/questions/114870
复制相似问题