本文环境:
区块链版本:以太坊POA联盟链
节点版本: geth 1.9.19
操作系统:windows 64
合约版本:solidity ^0.8.5
本文介绍一种基于以太坊的多重签名智能合约;
本篇合约与前两篇文档合约有类似的地方,也有独到的地方,本文主要讲解其中的不同点,部分内容可能较简略,如果有兴趣,请参考前两篇文档;
1. 合约源码
// SPDX-License-Identifier: Unlicensedpragma solidity 0.8.5;contract multiSigWallet { address[] public owners; mapping(address => bool) public isOwner; uint256 public confirmationsReq; mapping(uint256 => mapping(address => bool)) public confirms; struct Transaction { address requester; address to; uint256 amount; bytes data; uint8 signatureCount; bool executed; } Transaction[] public transactions; modifier Owner() { require(isOwner[msg.sender], \"Not authorized owner\"); _; }