Single-sig, multi-sig account
In Mitum, there are two types of accounts: multi-signature (multiSig) accounts and single-signature (singleSig) accounts. The primary distinction between these two types of accounts lies in their creation methods.
singleSig account is created by mitum-currency-transfer-operation operation.
While, multiSig account is created by mitum-currency-create-account-operation or mitum-currency-create-contract-account-operation operation.
Methods that generate singleSig account:
account.createAccount
account.createWallet
account.createBatchWallet
account.key + currency.transfer
Methods that generate multiSig account:
account.createMultiSig
contract.createAccount
contract.createWallet
Currently, Mitum allows the creation of multiSig accounts even with just one account, which differs from the typical multiSig accounts derived from multiple public keys.
While Mitum offers the multiSig accounts in the conventional sense as well, the concept of multiSig accounts in Mitum can be considered as more "extended."
You don't need to dwell too deeply on this. The differences observed at the Mitum network between singleSig and multiSig accounts created through the aforementioned methods are summarized in the table below.
Single-Sig vs Multi-Sig Account Comparison
Creation Operation Type
transfer-operation
create-account-operation or create-contract-account-operation
Public Key
Not applicable.
Utilized.
Query By Public Key
Account cannot be queried via getByPublicKey (data returns null).
Account can be queried via getByPublicKey. (Not for CA)
Account Information
When queried via getAccountInfo, data.keys.keys is null.
When queried via getAccountInfo, data.keys.keys contains an array of public keys. (Empty array for CA)
Number of Signatures
One
One or more
Update Key
Impossible
Possible (Impossible for CA)
Use as contract account
Impossible
Possible
Last updated