Skip to content

Latest commit

 

History

History
44 lines (31 loc) · 5.16 KB

native-bitcoin-vaults-milestone-2.md

File metadata and controls

44 lines (31 loc) · 5.16 KB

Milestone Delivery 📫

The invoice form 📝 has been filled out correctly for this milestone and the delivery is according to the official milestone delivery guidelines.

Context (optional)

We recorded a video demonstration for this milestone.

As mentioned in the proposal, we weren't sure if the no_std version of Bitcoin Dev Kit would be ready, so we used an offchain worker in the meantime. The no_std versions of the dependencies (rust-bitcoin and rust-miniscript) have been developed but are not yet released. Once those are released, BDK will updated and we will integrate those changes into our solution. You can follow progress with this open issue.

Also, instead of using Spectre Desktop or Caravan as the signer, we are using the mobile app BlueWallet. It is open source React Native and available on both app stores. This was a bit more difficult because it required the additional deliverable of encoding the payloads as QR codes. However, we believe it is an overall better fit, more secure, and improved UX over the other options.

We also originally intended to use the identity pallet additional mapping for storing the xpub. However, updating this field drops verification judgements from the identity, which of course would not be a desired effect. Instead, we save the xpub with our pallet. There is no impact to user experience.

Deliverables

Number Deliverable Link Notes
0a. License https://github.com/hashed-io/hashed-substrate/blob/main/LICENSE MIT
0b. Documentation Technical Documentation and a step by step Tutorial on how to use NBV The code has inline documentation and each repository has a detailed README with build, run, and test instructions.
0c. Testing Guide https://github.com/hashed-io/bdk-services/blob/master/src/hbdk/mod.rs#L457, https://github.com/hashed-io/hashed-substrate/blob/main/pallets/nbv-storage/src/tests.rs Tests are build directly into Rust projects, integration tests shown in video described below
0d. Docker https://github.com/hashed-io/bdk-services/blob/master/Dockerfile Dockerfile for bdk_services is used to deploy to Kubernetes
0e. Video & Article Videos in Spanish and English and the articles in Spanish and English NA
1. PSBT Signing https://github.com/hashed-io/bdk-services Users will be able to sign transactions using blue wallet, instead of Spectre Desktop.

(Max or Erick - This was in the original proposal "Users will be able to sign transactions using our customized signer (Spectre Desktop) and save the output to the Substrate node." Does it still make sense?) save the output to the Substrate node.
2. Transaction Broadcast https://github.com/hashed-io/hashed-substrate/tree/main/pallets/bitcoin-vaults When the threshold of signatures has been reached, the status of the proposal changes and any co-signer can finalize and boradcast the transaction.

(Max or Erick - This was in the original proposal " the node will broadcast the transaction to the Bitcoin network (via integrated Bitcoin core node)" Does it still make sense?)
4. Hosted Instances https://github.com/hashed-io/bdk-services/blob/master/README.md#generate-output-descriptors Testnet and Mainet addresses:
5. EZ-Try https://github.com/hashed-io/bdk-services/blob/master/README.md#generate-new-address Max?
6. Support & Maintenance NA

Repositories (all MIT licensed)

Component Repo Language
Pallet Hashed Substrate Rust
Bitcoin Services BDK Services Rust
Client Web App Quasar/Vuejs
QR Codec QR Encoding Package Javascript

Additional Information