-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Initial integration docs #140
base: main
Are you sure you want to change the base?
Conversation
@@ -5,6 +5,10 @@ | |||
</p> | |||
<br/> | |||
|
|||
## Overview | |||
|
|||
The Babylon Wallet Connector provides a unified interface for integrating both Bitcoin (BTC) and Babylon (BBN) wallets into Babylon dApp. It supports both native wallet extensions and injectable mobile wallets. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"native wallet extensions" & "injectable mobile wallets" might be confusing for people outside of the company.
How about have a small section dedicate to explain what this really mean? and especially for the mobile injectable, give a small example with screenshot
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay
|
||
### Integration Through Tomo Connect SDK Lite | ||
|
||
In addition to direct integration, wallets can also be integrated through [Tomo Connect SDK Lite](https://docs.tomo.inc/tomo-sdk/tomo-connect-sdk-lite). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO we shall put this section first as we would like to delegate this to tomo as much as possible. i.e encourage wallet to go through tomo. if it doesn't work out due to xyz reason, come to us
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed, we should note early on that this repository maintains few wallets natively integrated and maintained by the Babylon team and uses Tomo Connect to get access to more wallets. Wallet developers are encouraged to integrate with Tomo Connect to be enabled on the babylon staking dapp
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay
|
||
This guide explains how to integrate wallets with the Babylon staking dApp. The dApp supports both Bitcoin (BTC) and Babylon (BBN) wallets through a unified interface. | ||
|
||
### Supported Wallet Types |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's not put everything under a single README.
We can start with the high-level file structure first then gradually define the content.
Something on top of my head:
- README.md: table of content of below points from "doc" directly. The rest can just be local dev instruction on how to spin up playbook, how to run tests etc.
- doc
- bitcoin: instruction on how to get listed as part of the bitcoin wallets
- babylon: instruction on how to get listed as part of the BBN wallets
- mobile: instruction on how to work with mobile injectable where both BTC & BBN need to be implemented
- General guideline: This page highlights the rules wallets should follow before and after integration. For example, no breaking change, provide POC for incident etc. We can also put this as first line of the main README.md
- FAQs: A list of common questions that were asked by wallets
Note: no need to go detail into each section at this stage. I'm just highlighting we shall start with skeleton on the structure and areas we want to cover. The actual content can be added later on.
thoughts on the structure? @totraev @jeremy-babylonlabs @vitsalis
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not a fan of splitting docs into too many documents. One or two docs should do. Regarding the structure, my recommendation:
- README.md: Purpose of this repository. This is a codebase hosts the wallet connection component of the Babylon staking dashboard, which involves the connection of a Bitcoin wallet and a Babylon chain wallet. The repository contains (1) the implementation of our wallet specification, (2) natively integrated browser extension wallets implementing this spec, and (3) a connection with Tomo Connect for further wallet connections.
- If we want to have FAQs, we can have them on the README.
- We have a section for wallet integration, in which we mention that if someone is interested in getting integrated as a wallet, they should follow the wallet integration doc.
- docs/wallet-integration.md: Document listing the wallet interfaces for bitcoin and babylon chain and defining the two options of wallets: (1) browser extensions should create a PR (we note that we will not be accepting PRs and people should go to Tomo connect) and (2) mobile wallets should implement these interfaces and inject them on specific places.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest to go with @vitsalis approach
@totraev @jrwbabylonlab what do you think?
@@ -5,6 +5,10 @@ | |||
</p> | |||
<br/> | |||
|
|||
## Overview | |||
|
|||
The Babylon Wallet Connector provides a unified interface for integrating both Bitcoin (BTC) and Babylon (BBN) wallets into Babylon dApp. It supports both native wallet extensions and injectable mobile wallets. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lines should be wrapped at 80 characters on .md files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, will do
|
||
1. Native Wallets | ||
|
||
- Must submit a PR to add the implementation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's not guide wallets to submit PRs here. We are the owners of this repository and we will be the ones adding any new wallets.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's not guide wallets to submit PRs here. We are the owners of this repository and we will be the ones adding any new wallets.
Before that they made an initial PR because these wallets know how the wallet is build. Whereas we do the additons.
For example - Keystone is completely all-in manual, BitGet
uses inner internal signPsbt
method, etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See the mention of Tomo above in the discussion, will remove it from here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can sync with wallets on this offline. We will heavily avoid integrating wallets in here unless very much required. If we have sentences instructing people to submit PRs, people might be confused that we are accepting PRs by random people. For the few wallets we integrate, we can sync offline for them to submit a PoC to help us take over
Docs should have some sort of sentence about backwards compatibility and not introducing breaking changes |
Initial integration docs
Closes #16