首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能得到一对多(多对多)事务方法吗?

我能得到一对多(多对多)事务方法吗?
EN

Ethereum用户
提问于 2018-04-11 00:15:08
回答 1查看 464关注 0票数 1

我们知道,通过sendTransaction发送eth,它有from toamount,它是一对一的交易。我能得到一种一对多(多对多)的交易方式,比如比特币核心中的sendmany吗?由于比特币核心可以自动在本地钱包中提取比特币的所有地址,它实际上是一个多对多的交易。只是为了在我有大笔交易的时候省下矿工费。

谢谢。

EN

回答 1

Ethereum用户

发布于 2018-04-11 05:26:48

Ethereum中没有本地方法可以做到这一点,但是您可以编写一个智能契约来完成该任务。

例如,这个https://github.com/cleanunicorn/smart-split

是否将用户定义为合作伙伴

代码语言:javascript
复制
// partnerAdd adds a new partner to the list
// It saves the partner address and the weight of the partner
function partnerAdd(address partner, uint256 weight) public onlyOwnerOrPartner  {
    require(partnerExists(partner) == false);

    partners.push(partner);
    partnersWeight.push(weight);
}

而在接收ETH的功能中,ETH可以根据您的逻辑来分割资金。

代码语言:javascript
复制
function () public payable {
    uint256 sum;
    for (uint256 i = 0; i < partners.length; i++) {
        sum = sum + partnersWeight[i];
    }
    Sum(sum);

    for (i = 0; i < partners.length; i++) {
        address dst = partners[i];
        uint256 value = msg.value * partnersWeight[i] / sum;
        dst.transfer(value);

        SplitValue(dst, partnersWeight[i], value);
    }
}
票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/45330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档