Technical Standards
- Mnemonic standard - - The mnemonic complies with the BIP39 standard and generates a mnemonic of 12 words by default. - Generate seed by mnemonic - - Generate the seed using the BIP39 standard process. - - In the PBKDF2 algorithm, the mnemonic sentence is used as the password, "mnemonic" as the salt (passphrase is empty). - Mnemonic sentence - - English mnemonics: Remove head and tail spaces, add a space between each word. 
- Bitcoin MultiSig address generation - MultiSig is implemented by P2SH, and the address is created by calling the bitcoind (litecoind for LTC, etc.) createmultisig interface, or it is equivalent to the following logic (take 2-3 MultiSig as an example): - 1. redeemScript = <OP_2> <A pubkey> <B pubkey> <C pubkey> <OP_3> <OP_CHECKMULTISIG> - 2. redeemScriptHash = RIPEMD160(SHA256(redeemScript)) - 3. P2SHAddress = base58check.Encode("05", redeemScriptHash) - MultiSig public key order - - The order of the public keys is sorted in lexicographic order according to the public key itself (hexadecimal string as an ASCII string). - - For example: A's pubkey: c0f832..., B's pubkey: aaff01..., C's pubkey: b8facc..., then: redeemScript = <OP_2> <B pubkey> <C pubkey> <A pubkey> < OP_3> <OP_CHECKMULTISIG> - Source code for Ethereum / Solana MultiSig - Github: https://github.com/bitbill/ownbit-multisig-contracts - QR code format for Offline Signing - bb_watch: Create a new Watch Wallet - bb_addcoin: Add coin for Watch Wallet - bb_sign: Sign a transaction - bb_tx: broadcast the transaction to the network - Encoding/Decoding: zlibCompress + Base64