-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
Comment créer un contrat de portefeuille multi-signatures ?
Multi-signature wallets require multiple approved signers to authorize transactions, using threshold logic, ECDSA signature verification, and on-chain owner management—enabling secure, decentralized fund control.
Jan 19, 2026 at 12:40 am
Comprendre l'architecture du portefeuille multi-signatures
1. Un contrat de portefeuille multi-signatures fonctionne sur le principe selon lequel plusieurs détenteurs de clés privées doivent approuver une transaction avant son exécution.
2. Les implémentations basées sur Ethereum utilisent généralement Solidity pour définir une logique de seuil, par exemple en exigeant que 3 signataires sur 5 confirment un transfert.
3. Le contrat stocke une liste fixe d'adresses autorisées et applique la validation des signatures via des contrôles cryptographiques par rapport aux signatures ECDSA.
4. Chaque transaction proposée se voit attribuer un identifiant unique et est stockée dans un mappage jusqu'à ce que suffisamment de signatures valides soient collectées.
5. L'exécution ne se poursuit qu'après vérification du nombre requis de signatures par rapport au hachage du message et à la liste blanche des signataires.
Composants essentiels de la logique contractuelle
1. Le tableau des propriétaires contient tous les comptes externes approuvés éligibles pour signer des transactions.
2. Une variable de seuil définit le nombre minimum d'approbations nécessaires pour toute opération.
3. La file d'attente des transactions maintient les opérations en attente avec des indicateurs d'état indiquant si elles sont confirmées ou expirées.
4. La vérification des signatures s'appuie sur ecrecover pour récupérer les adresses des signataires à partir des signatures compactes et les comparer à la liste des propriétaires.
5. Les fonds sont détenus directement dans le solde du contrat, ce qui en fait une adresse de garde qui ne délègue pas le contrôle à des contrats externes, sauf autorisation explicite.
Processus de déploiement et d'initialisation
1. Lors du déploiement, le constructeur accepte un tableau d'adresses de propriétaires et une valeur seuil comme paramètres immuables.
2. Le contrat émet un événement OwnershipInitialized répertoriant tous les propriétaires initiaux et le seuil configuré.
3. Aucune fonction de secours n'est implémentée à moins que le contrat ne prenne explicitement en charge la réception d'ETH sans déclencher la logique d'exécution.
4. Le déployeur doit s'assurer que toutes les adresses des propriétaires sont vérifiées hors chaîne avant leur inclusion, car la validation en chaîne de la légitimité des adresses n'est pas effectuée.
5. L'estimation du gaz pendant le déploiement dépend fortement du nombre de propriétaires initiaux en raison des écritures de stockage dans le constructeur.
Flux de soumission et de confirmation des transactions
1. Un proposant appelle submitTransaction avec l'adresse cible, la valeur et les données d'appel codées, générant un nouvel ID de transaction.
2. D'autres propriétaires invoquent confirmTransaction en utilisant cet ID, déclenchant l'agrégation de signatures internes et la vérification des seuils.
3. Une fois le seuil atteint, le contrat exécute l'appel via call avec une syntaxe d'assemblage de bas niveau ou d'adresse.call{value: montant}.
4. Les appels externes annulés n'annulent pas l'état de confirmation ; au lieu de cela, ils émettent un événement d'échec tout en préservant les enregistrements de signature.
5. Les transactions peuvent être annulées par le proposant si elles ne sont pas confirmées, mais les transactions confirmées ne peuvent pas être retirées ou modifiées après approbation.
Foire aux questions
Q : Un portefeuille multi-signature peut-il contenir des jetons ERC-20 ? R : Oui. Le contrat peut recevoir des jetons ERC-20 en approuvant les transferts à son adresse ou en utilisant les fonctions de dépôt si le jeton le prend en charge. Il ne transmet pas automatiquement les jetons à moins qu'il ne soit codé à cet effet.
Q : Est-il possible de modifier la liste des propriétaires après le déploiement ? R : Uniquement si le contrat inclut une fonction de gestion du propriétaire telle que addOwner ou RemoveOwner , qui nécessite elle-même une approbation multi-signature. Les déploiements immuables interdisent toute modification.
Q : Que se passe-t-il si un propriétaire perd sa clé privée ? R : Ce propriétaire devient non fonctionnel dans le processus de signature. Si les signataires actifs restants atteignent toujours le seuil, les opérations se poursuivent. Dans le cas contraire, les fonds pourraient devenir inaccessibles à moins que des mécanismes de recouvrement soient préprogrammés.
Q : Le contrat prend-il en charge les transactions à durée limitée ? R : Les implémentations de référence standard de Gnosis Safe ou similaires incluent des modules timelock. Les versions Barebones n'appliquent pas de délais à moins qu'elles ne soient explicitement ajoutées via des modificateurs vérifiant block.timestamp ou en utilisant des horodatages basés sur Oracle.
Clause de non-responsabilité:info@kdj.com
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.
-
RAIN Échangez maintenant$0.007852
113.00%
-
PIPPIN Échangez maintenant$0.06097
51.96%
-
PARTI Échangez maintenant$0.1396
42.04%
-
WAVES Échangez maintenant$0.9141
41.69%
-
ARC Échangez maintenant$0.04302
35.73%
-
HONEY Échangez maintenant$0.01029
21.80%
- Hong Kong se met sous tension : les licences Stablecoin et les réglementations cryptographiques occupent le devant de la scène
- 2026-01-31 00:55:01
- Le jeu de compression du marché de l'argent : capacité, offre et résolution de problèmes croissants
- 2026-01-31 00:55:01
- Choix du président de la Fed par Trump : Kevin Warsh intensifie ses efforts, Wall Street surveille
- 2026-01-30 22:10:06
- Le rêve d'or numérique de Bitcoin testé alors que les changements du marché et les nouvelles crypto-monnaies prennent feu
- 2026-01-30 22:10:06
- Binance double sa mise : le fonds SAFU se tourne entièrement vers Bitcoin, signalant une profonde conviction
- 2026-01-30 22:05:01
- Les résultats du quatrième trimestre de Chevron montrent un BPA supérieur malgré un déficit de revenus et les yeux rivés sur la croissance future
- 2026-01-30 22:05:01
Connaissances connexes
Comment exécuter un message inter-chaînes avec un contrat LayerZero ?
Jan 18,2026 at 01:19pm
Comprendre l'architecture LayerZero 1. LayerZero fonctionne comme un protocole d'interopérabilité léger et sans autorisation qui permet la com...
Comment mettre en œuvre EIP-712 pour la vérification sécurisée des signatures ?
Jan 20,2026 at 10:20pm
Présentation de l'EIP-712 et objectif principal 1. EIP-712 définit une norme pour le hachage et la signature de données structurées typées dans le...
Comment se qualifier pour les parachutages en interagissant avec de nouveaux contrats ?
Jan 24,2026 at 09:00pm
Comprendre les exigences d'interaction contractuelle 1. La plupart des campagnes de largage nécessitent une interaction directe avec des contrats ...
Comment surveiller un contrat intelligent pour les alertes de sécurité ?
Jan 21,2026 at 07:59am
Outils de surveillance en chaîne 1. Les explorateurs de blockchain comme Etherscan et Blockscout permettent une inspection en temps réel du bytecode d...
Comment mettre en place et financer un contrat de paiements automatisés ?
Jan 26,2026 at 08:59am
Comprendre le déploiement de contrats intelligents 1. Les développeurs doivent sélectionner une plate-forme blockchain compatible telle que Ethereum, ...
Comment utiliser les contrats OpenZeppelin pour créer des dApps sécurisées ?
Jan 18,2026 at 11:19am
Comprendre les principes fondamentaux des contrats OpenZeppelin 1. OpenZeppelin Contracts est une bibliothèque de composants de contrats intelligents ...
Comment exécuter un message inter-chaînes avec un contrat LayerZero ?
Jan 18,2026 at 01:19pm
Comprendre l'architecture LayerZero 1. LayerZero fonctionne comme un protocole d'interopérabilité léger et sans autorisation qui permet la com...
Comment mettre en œuvre EIP-712 pour la vérification sécurisée des signatures ?
Jan 20,2026 at 10:20pm
Présentation de l'EIP-712 et objectif principal 1. EIP-712 définit une norme pour le hachage et la signature de données structurées typées dans le...
Comment se qualifier pour les parachutages en interagissant avec de nouveaux contrats ?
Jan 24,2026 at 09:00pm
Comprendre les exigences d'interaction contractuelle 1. La plupart des campagnes de largage nécessitent une interaction directe avec des contrats ...
Comment surveiller un contrat intelligent pour les alertes de sécurité ?
Jan 21,2026 at 07:59am
Outils de surveillance en chaîne 1. Les explorateurs de blockchain comme Etherscan et Blockscout permettent une inspection en temps réel du bytecode d...
Comment mettre en place et financer un contrat de paiements automatisés ?
Jan 26,2026 at 08:59am
Comprendre le déploiement de contrats intelligents 1. Les développeurs doivent sélectionner une plate-forme blockchain compatible telle que Ethereum, ...
Comment utiliser les contrats OpenZeppelin pour créer des dApps sécurisées ?
Jan 18,2026 at 11:19am
Comprendre les principes fondamentaux des contrats OpenZeppelin 1. OpenZeppelin Contracts est une bibliothèque de composants de contrats intelligents ...
Voir tous les articles














