An implementation on Klave of a multisig smart contract allowing a group (defined by a set of public keys) to sign (with a secret private key) a message. For the signature to be available, part or all of the group would have to send an approval with the actual message signed with their own private keys (corresponding to the public keys used to create the group).
Description · Features · Deploy Your Own · Build Locally · Authors
A multisignature (multisig) smart contract is a type of contract that requires multiple parties to approve a transaction before it can be executed. This adds an extra layer of security and control over the funds held by the contract. Multisig contracts are commonly used in scenarios where multiple individuals or entities need to collectively manage and control valuable assets or funds.
Klave-multisig contract provides the following functions:
- Generation of private keys on Klave.
- Creation of multiple parties group (using each party public key).
- Deployment of a contract defining a message to be signed, a private key to be used for the signature, a group to describe the multiple parties. Note that a specific number of signatures (approvals) from authorized parties is required to execute a transaction. This number, known as the threshold, is set during the contract's deployment. For example, a 2-of-3 multisig contract would require two out of three authorized parties to sign and approve a transaction before it can be executed.
- Verification of the contract allowing any user to check whether the threshold has been reached. If verified, the final signature of the message is returned.
- Create Private Key: Either generate or import a private key
- Manage Group: Create a group and list the corresponding public keys and associated contracts
- Create Contract: Create and manage the deployment/approval/verification of a contract.
You can deploy your own version of the Klave-MultiSig to Klave with one click:
You can build your into wasm locally, allowing you to validate the hash of the application deployed on Klave.
Note: You should have node and yarn installed to be able to build locally.
yarn install
yarn build
This will create the .wasm file in the ./klave folder.
This library is created by Klave and Secretarium team members, with contributions from:
- Jeremie Labbe (@jlabbeklavo) - Klave | Secretarium
- Nicolas Marie (@Akhilleus20) - Klave | Secretarium
- Etienne Bosse (@Gosu14) - Klave | Secretarium