Skip to content

Design Guidelines

BradGao edited this page May 21, 2021 · 2 revisions

Cross-platform

MaskWalletCore is born to be cross-platform. It supports JavaScript in both Node.js and Browser environments by using WebAssembly, Android, iOS, and any rust-compatible platforms.

MaskWalletCore exposes only 1 interface (2 on some platforms for memory management) which requests and responses Protobuf defined messages.

MaskWalletCore works as a stateless computing server. Applications need to provide all required data to MaskWalletCore when sending a request. For some "mutating" requests which modify the provided data, it is the users' responsibility to update their data with the modified one.


Features

  • Ethereum support.
  • Easy to add support of new blockchain.
  • Create and import wallets using mnemonic phrases.
  • Import private key and key store JSON to create wallets.
  • Derive and manage multiple accounts.
  • Signing transactions
  • Polkadot support
  • CLI
Clone this wiki locally