Synapse - Browser Wallet and Keyper Agency

Team and Background

We are Rebase team, as the very early participant of Nervos from 2018, we organized online/offline meetups and workshops, wrote articles to educate users. During testnet phrase, we also developed several tools. We have more than 5+ years development experience of internet and 2+ years experience of blockchain, including Bitcoin, Ethereum, Dapp, wallet, exchange, etc.

Harry Liu - Team lead and blockchain developer

Harry has been developing 2 dapps on Ethereum for the past 2 years. He has experience of setup RPC node, ported wallet, faucet, and block explorer for EVM blockchain. Developed a online tool to generate ckb key pair.

Orange Ma - Blockchain developer

Orange did a lot of blockchain things, and also a invited smart contract security auditor of Ethereum for Slow Mist. He is passionate about ckb and wrote several popular posts on orangem.io . He gave a talk on Rebase’s meetup about ckb.

Shooter Liu - Blockchain developer

Blockchain technology enthusiasts, as Rebase member he organized meetups and workshops, and be familiar with technology stacks such as Python, Golang and Node. He has started development of Bitcoin, Ethereum, exchange since 2015. During ckb testnet mining phrase, he developed ckb-wallet-golang

River Zhou - Blockchain developer

River has experience of wallet development based on Ethereum and BTC. He writes solidity and Substrate during his spare time. He uses Java, Go and Rust as his backend programming language.

Project and Justification

Users need to manage their assets and interact with dapp in a convenient way.

We will implement a browser extension which will includes 2 main features, wallet and keyper agency.

As a wallet, users would be able to manage their funds, tokens, import/export passphrase.

What make Synapse unique with CKB is that it’s will act as a agency for Keyper, which will allow users to manage their lock scripts. In order to interact with dapps, Synapse could able to put different lock scripts as input into one transaction.

Since wallet needs to display aggregated data such as balance/capacity so a server is needed. The server is used to cache cells data, do aggregation, then provide query service to client. Considering the security issues brought by centralized server, users could use this default server to do normal wallet operations, we will also provide the option/setting allowing them to choose other RPC endpoint, even they can setup a server by themselves with our open sourced code.

Detailed features see the following table.
image

Considering currently there is no standard for how to communicate between keyper and keyper agent (Synapse and others), keyper agent and Dapp, we will also publish 2 RFCs and a demo dapp.

Rough features see below table.
image

Technical Specification and Implementation

Dapp interaction flow

To better understand how Synapse works with dapp, there is a interaction flow below.

Synapse architecture

Synapse architecture includes 4 major parts:

  • Key manager. Used to manage private keys and sign messages for users. It could be a separate from 3rd party develop or just a module in Synapse.
  • Keyper. Ownership layer includes different lock plugins which have 3 descriptors inside each. It will be a JS library developed by 3rd party developer.
  • Synapse modules.
  • Synapse server. Will be implemented as a RPC server.

Timeline / Roadmap

6 Likes

Updated on Mar 7, 2020:

  • Added demo and 2 RFCs
  • Updated roadmap
3 Likes

This grant has now been approved. For more info and the official announcement please check here!

2 Likes

Synapse extension v0.0.1 released, checkout the update and how to use here: Synapse Extension v0.0.1 is Released

1 Like

Our Milestone #1 report is here :

Your are always welcome to download our extension and try the features we mentioned in the report:

4 Likes

Milestone #2 report is here

Feel free to send us feedback.