Abridged SDK Overview

James Duncan
Abridged
Published in
3 min readJul 30, 2019

Usability focused DApp toolkit 🧰

Abridged is an SDK that helps you onboard web 2.0 users to your DApp.

  • No external dependencies🙅‍♂️
  • Web 2.0 design patterns 🧩
  • 5 mins to integrate 🌬

Allows for various levels of decentralization around key management (dev decides how levels are triggered).

  • 🧒 Beginner (Knows nothing about crypto, no MetaMask)
  • 🚲 Intermediate (Has some friends that can help with social recovery)
  • 🧗‍♂️ Advanced (Hardcore I-don’t-trust-anyone, tldr what MetaMask is)

Abridged SDK

🏹 Allows users to counterfactually deploy a smart contract wallet.

  • SDK allows DApps to counterfactually deploy a smart contract wallet for users. You can then onboard them to a multi-sig wallet without ETH.
  • The cost of deploying Abridged’s smart contract wallets is optimized for cost (~$0.20 — $0.60 USD) depending on the gas price and the speed of confirmations. This with ETH at $300 USD (2nd July 2019). This is cheap as the contract design is purposefully very simple — thus cheap.
  • You can extend the logic of the smart contract wallet by adding contract extensions. Keep the initial deployments small and then later deploy optional extensions to the smart contract. Onchain logic is modular.
  • Counterfactual smart contracts safeguard DApp against fake spam meta transaction attack as the meta-tx refunds come from the counterfactually deployed smart contract. When the smart contract is finally deployed onchain, the meta-tx relayers get paid, otherwise, no cost is incurred.

👫 Onchain smart contract social recovery

  • These contract-based wallets allow for N +1 master keys to manage them.
  • Smart contract wallet allows for social recovery where guardians / key recovery agents to coordinate to add a new master key to the smart contract wallet. You can determine X amount of addresses that can be assigned as a guardian. Then out of those X addresses, you can determine how many need to coordinate to add the new key.
  • Eg. If a smart contract wallet has 5 addresses, with the config that allows 3 of 5 to recover the key, then they all need to submit the public address of the new key to the smart contract wallet. After 3 of 5 have done so, the newly submitted key is a new master key.

⚓️ Centralized onboarding

  • DApps can give users the option of using a web 2.0 email and password login to generate the initial key that owns the smart contract wallet
  • The counterfactual contract address and initial master key are generated in the browser by the user.
  • DApps can add counterfactual wallet address to user management systems such as AWS Cognito or Google Firebase. This allows users to recover their access and add a new master key to their wallet using email recovery.

🎣 Meta transactions

— gas station network

Gas cost covered by dapp or by user’s own smart contract wallet. Other authorized keys can sign and execute meta transactions through user’s own wallet.

📭 Generalized state channels

  • State channel can handle arbitrary state transitions
  • No collateral requirement
  • Degree of centrality (must trust Abridged hub until relay network becomes available)
  • Doesn’t use metamask for key management
  • No sign tx popup everytime you sign state / transaction

💸 Fiat onramping

Abridged offers widgets for both Wyre and Moonpay covering the US, Europe, and Asia for in-app on-ramping capabilities through credit/debit cards.

🧰 Abridged CLI + SDK

The one two punch. SDK v1.0 out now. CLI with documentation coming soon.

Find more in our docs check out our Playground with zero commitment and sign up for our early access to receive the latest developments.

Thanks to Peter Pan for pushing this document forward.

--

--