This section will guide you through How to use a 3rd party MultiSig Wallet smart contract to allow multiple owners to confirm the transaction to issue certificates.
This is useful in one of the following scenarios: 1) You would like to only allow issuance with the consent of multiple parties OR 2) You would like to allow multiple parties to issue from the same document store with each their own Ethereum wallet.
NOTE: Advanced users only! Do not attempt this if you are not comfortable with the whole OpenCerts basic issuance flow
To issue the certificates, please ensure you have:
Enter Name, Required confirmations, Daily limit (ETH) and the addresses of the owners and then “Deploy with factory”:
Name : Wallet name
Required confirmations : The number of approvals needed from the owners (signatories) of the multi-signature wallet (not to be confused with transaction confirmation). Here I enter 2, meaning that at least two people need to sign for a transaction.
Daily limit (ETH) : A limit of ethers that can be withdrawn without the need of required confirmations as configured in Required confirmations.
ADD : These are the owner addresses acting as a signatory for changes to the wallet, notably withdrawals, confirmation changes, daily limits, and ownership changes.
11.Once the transaction is confirmed, we can see the wallet showing up in the Wallets tab. Please check whether your transaction is successful if wallet did not show up.
(If you have an existing document store that you would like to transfer ownership of to the MultiSig wallet, you may skip this step)
Go to “Write Contract” tab. You should see a field with transferOwnership. Connect your Ledger wallet to MetaMask. Select the network type either ropsten or mainnet.
Enter the MultiSig wallet address and click on “Write”.
Click on the “Add” in MultiSig Transaction tab.
Destination : Its the store contract address generated in previous step from https://admin.opencerts.io/.
Contract Name : Name of the contract (Optional).
Amount : Ethers required to execute the transaction.
ABI string : ABI string of the contract. Go to https://ropsten.etherscan.io using the store address similar to previous step and click on the code tab. You will see a ABI section copy it and paste it here.
Method : Once you paste the ABI you will see the methods in that contract. To issue new certificates select “issue” method.
Document : Enter the certificate batch hash generated from certificate-cli.
Once all the information enter click on the “Send multisig transaction”.
Confirm the transaction on your ledger wallet.
Once the transaction is mined and the number of required confirmation matches, you should see the output like below image -
ID : transaction id.
Destination : name and address of the store contract address you entered.
Value : Amount of ether transferred in the transaction.
Data/Subject : Merkel hash root you entered.
Confirmation : list of accounts which did the confirmation to execute the transaction.
Executed : If the transaction is executed or not.