以太坊 solidity 多重签名合约 —— 他好,你也好

    建立一个多重签名合约,这个合约可以有多个账户。每次通过这个合约转出ETH时,就需要一定数量的账户同意(例如总共有3个用户,可以设置需要2个同意)。这个应用场景也比较明显,例如公司的一份文件经常需要几个单位或部门分别签名才有效,多重签名技术就是在网络环境里解决这类问题的一种方法,用于同一文档必须经过多人的签名才有效的情形。在推广一下,个人合资创业也是一样,防止其中某个人卷钱跑路。

    我们先来简单的说一下,原理和框架。

   创建合约之后,我们先添加多个账号,每个人都可以向账户里存钱以及把账户的钱转到其他账户。如果有人想转账,我们先构建一笔交易,放入pending队列中;其他账户可以通过函数接口观察pending队列里的所有交易;如果他认为可行就对认可的交易进行签名,当一笔处于pending状态的交易被规定的人数认可之后,这笔交易就可以发送出去了;这是整个多重签名的过程。

   

     看了上图理解起来,应该更简单了。所有人都可以创建交易,然后交易发送到pending队列里,然后所有人都可以进行签名,如果一笔交易达到了签名数量的要求,这笔交易就会被发送出去了。

     源码会在下一次分享。

猜你喜欢

转载自blog.csdn.net/xq723310/article/details/82659544
今日推荐