Skip to content
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

CB-2Q23-04.1 : sBTC Stacks-Signer Management Tool UI #875

Open
will-corcoran opened this issue Mar 21, 2023 Discussed in #842 · 7 comments
Open

CB-2Q23-04.1 : sBTC Stacks-Signer Management Tool UI #875

will-corcoran opened this issue Mar 21, 2023 Discussed in #842 · 7 comments

Comments

@will-corcoran
Copy link
Collaborator

Discussed in #842

Originally posted by will-at-stacks March 17, 2023

Introduction:

Maintaining a well-decentralized graph of Stacks follower and mining nodes is important to the health of the Stacks network. Stacks 3.0 will require stackers to run a new signing application. Current users who are unable to securely run a signer application may be incentivized to delegate their signing responsibility. While potentially more convenient, delegating signing responsibility reduces the number of independent entities responsible for securing the sBTC threshold wallet and lowers decentralization.

Critical Bounty Mission Statement:

To address these challenges, this Critical Bounty seeks a solution that provides sBTC Stacks-Signers a simple web-app interface by which they can sign transactions related to:

  • Depositing funds
  • Withdrawing funds
  • Casting votes
  • Propose elections (related to sBTC script security, fee recovery parameters, and Nakamoto release related block production rules)

This will allow a wide range of Stackers/Signers to participate directly in the sBTC Threshold Signature protocol in a trustless manner. This application will have a high security consideration.

Functionality / Deliverables (shall include, but not be limited to):

  • The sBTC Stacks-Signer Management Tool shall be a Hiro Wallet- or Stacks Connect-authenticated full-stack application consisting of:
    — Typescript React-based web front-end
    — Typescript Deno-based back-end
  • The back-end business logic should be implemented in Typescript and provide for wrapper Rust library and binary to spawn the serving process.
  • The user’s wallet would sign a message provided by the back-end providing proof-of-knowledge of the Stacking address private key.
  • Communication between front-end and back-end applications to be mediated via HTTPS
  • The sBTC Stacks-Signer Management Tool shall comply with sBTC-related requirements including, but not limited to:
  • Ability to monitor sBTC Stacks-Signer health and metrics via RPC-API
  • Ability to provide secure access control to Stacks-Signers via password or cookies, similar to Bitcoin-node and/or Stacks-node RPC API’s
  • The sBTC Stacks-Signer Management Tool code repository shall provide:
    — Full documentation
    — Integration tests
    — Continuous Integration / Continuous Deployment infrastructure via Github Actions
  • Rust integration:
    — rustfmt, rustc, tests
    — Documentation and publishing to docs.rs
    — Crate publishing to crates.io
  • Product 'roadshow', feedback, and improvements: All recipients will be responsible for demonstrating functionality, championing early adoption, gathering feedback, and making one to two rounds of high-impact, feedback-based improvements.

Required Knowledge / Skills:

  • Demonstrable experience building full-stack applications using Typescript and React or Svelte
  • Strong familiarity with Rust
  • Familiarity with Dune is helpful, but not required

References:

  1. sBTC Whitepaper
  2. Stacks Nakamoto Release Whitepaper
  3. sBTC project dashboard
  4. Clarinet Docs (reference for design system req’d for Typescript applications wrapped within a Rust application)
  5. TM Repo (code & documentation standard)

Critical Bounty Fee:

  • Maximum Fee: $26,000

Reviewers / Advisors:

Igor Sylvester, Core Engineering Lead, Trust Machines
Mike Cohen, EcosystemDAO
Andre Serrano, sBTC Resident and sBTC Go To Market Working Group Lead
Jesse Wiley, Integration and Security Lead, Stacks Foundation
Kenny Rogers, Developer Advocate, Stacks Foundation
Will Corcoran, Grants Lead, Stacks Foundation

Additional Comments:

Recipient will be expected to attend sBTC Core Engineering Working Group calls while the bounty is in development and provide weekly updates.

APPLY HERE


NOTES ABOUT CRITICAL BOUNTIES:

If you have thoughts, questions, or comments on the rough outline for this Critical Bounty above, please comments below.

Please note, all 2023 Q2 Critical Bounties that have funding approved for them will be moved to the Issues page (here) on Tuesday 03/21/2023.

Some procedural items to keep in mind with 2023 Q2 Critical Bounties:

  1. Each Critical Bounty will have a pre-approved minimum and maximum budget listed within the issue.
  2. All applications will be submitted via a BlockSurvey which will be linked within the Issue.
  3. Applications will be open from 03/21/2023 to 04/03/2023.
  4. Critical Bounty applications will be reviewed by relevant members of the sBTC Core Engineering Team and technical staff from the Stacks Foundation.
  5. The selected recipient will be the low, qualified bidder (in the eyes of the reviewers).
  6. Selected Critical Bounty recipients will be announced on 04/07/2023 and will be expected to start work immediately and attend sBTC Core Engineering meetings to provide weekly updates on their work.
@stacks-foundation
Copy link

👋 @will-at-stacks


Thanks for your application! We will do a pre-review and let you know if we have any immediate questions. In the mean time please refer to our review schedule here for a detailed timeline and response dates.


Best,
Will

@will-corcoran will-corcoran changed the title CB-23Q2-04.1 : sBTC Stacks-Signer Management Tool UI CB-2Q23-04.1 : sBTC Stacks-Signer Management Tool UI Mar 27, 2023
@will-corcoran
Copy link
Collaborator Author

Congrats on being awarded this Critical Bounty @setbern for $26k

Supplementary funding is also going to @Macxim for UX/UI services for $4,480

Congrats to you both.

More information on this Critical Bounty can be found here

@will-corcoran
Copy link
Collaborator Author

@setbern please post your original application for the Critical Bounty here for public awareness.

Thanks,
Will

@radicleart
Copy link

@setbern here are swagger docs for the sbtc-bridge-api repo. Feel free to dm on discord mijoco#8856

@setbern
Copy link

setbern commented May 30, 2023

Original application
~~
Hi Iʼm SetBern (Bernardo Garciarivas) & am the more handsome other half of the StrataLabs team. Since 2016 Iʼve run a development
agency as a co-founder & lead React/Typescript/full-stack engineer on most engagements usually tasked with building & managing
projects development. These projects have differed from simple single page applications for startups to complex architectures involving
multiple databases, an api, multiple consumer facing apps, & multiple admin portals for established SMBs.
Since we launched the Badgers collection back in 2021, Iʼve nose dived into Stacks, obsessing with creating a great UX for the end user at
the beginning of my journey to allow me to understand the deeper technical sides from working daily with Setzeus. That obsession has
allowed me to be well suited for the task. Iʼd love to contribute to the sBTC effort & have the following qualifications.
8 Years Building Front End Websites
7 Years React
5 Year Typescript
Over 12 React based front end using Stacks.js, Stacks Connect, or Micro Stacks since November 2021
Team Assistance
Iʼll be working with Setzeus/Jesus Najera who is applying to the sister-issue #876 - sBTC Stacks-Signer Support For Mobile. With a ton of
overlap between these two issues, we feel very prepared to take them on together.

@setbern
Copy link

setbern commented May 30, 2023

Initial basic idea for singer dashboard - https://sbtc-web-signer.vercel.app/

  • Designs are not finalized

Research goal is to get a feel if this is enough data or too much data for the user to navigate/use the Signer API/dashbaord

@andrerserrano
Copy link

Hey all, what's the latest on the Signer dashboard? @setbern I'd like to revisit this in light of the Nakamoto release and updated requirements for Signer tooling. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants