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

[Epic] Wallet Service v1 #5

Open
36 of 45 tasks
obiyankenobi opened this issue Jul 8, 2020 · 2 comments · Fixed by #4, #6, #7, #9 or #21
Open
36 of 45 tasks

[Epic] Wallet Service v1 #5

obiyankenobi opened this issue Jul 8, 2020 · 2 comments · Fixed by #4, #6, #7, #9 or #21
Assignees

Comments

@obiyankenobi
Copy link
Member

obiyankenobi commented Jul 8, 2020

Introduction

The hathor-wallet-service will be used as a backend for all official Hathor's wallets.

This service is highly inspired by the Bitcore Wallet Service.

Motivation

The idea behind this service is to have a fully indexed Hathor blockchain in real-time on a centralized database so we don't have to seek the full-node to calculate his balances and to query his utxos it every time a user wants to use his wallet, thereby making the app a lot faster for large wallets and reducing the load on the full nodes.

Acceptance criteria

Aside from faster load times, the apps that are using this service as their backends should have all features working exactly as they were working when connected directly on the fullnode.

We should have control over exactly what percentage of our user base should be using this service and these percentages should be configured for each platform individually

Q3 Week 7: Aug 16th - Aug 20th

Q3 Week 6: Aug 9th - Aug 13th

In Review (from previous weeks)

Q3 Week 5: Aug 2nd - Aug 6th

Unplanned issues

Q3 Week 4: Jul 26th - Jul 30th

Q3 Week 3: Jul 19th - Jul 23rd

Unplanned issues:

Q3 Week 2: Jul 12th - Jul 16th

Unplanned issues:

Q3 Week 1: Jul 5th - Jul 9th

Q2 Week 13: Jun 28th-Jul 02nd

Q2 Week 12: Jun 21th-Jun 25th

Q2 Week 11: Jun 14th-Jun 18th

Q2 Week 10: Jun 7th-Jun 11th

  • [Done] Wallet Service: Handle voided tx design and implementation - @andreabadesso
  • [Fail] Wallet Service: Test the wallet service re-org strategy - @andreabadesso
  • [Partial] Wallet Service: New design/PoC Token Actions & implementation - @andreabadesso
  • [Fail] Wallet Service: handle out-of-order mempool TXs - @r4mmer
  • [Partial] Full-Node: mempool api - @r4mmer
  • [Partial] Daemon: sync mempool - @r4mmer

Q2 Week 9: May 31st-Jun 4th

  • [Partial] Wallet Service: Handle voided tx design and implementation
  • [Partial] Wallet Service: Test the wallet service re-org strategy
  • [Fail] Wallet Service: New design/PoC Token Actions & implementation

Design Issues

Pending issues to fulfill the design:

Pending tasks breakdown

Summary

Total: 336h / 42 days / 8.4 weeks, i.e., end of Q1/2021.

@obiyankenobi obiyankenobi self-assigned this Jul 8, 2020
@obiyankenobi obiyankenobi linked a pull request Jul 20, 2020 that will close this issue
@obiyankenobi obiyankenobi linked a pull request Aug 3, 2020 that will close this issue
@obiyankenobi obiyankenobi linked a pull request Sep 2, 2020 that will close this issue
@msbrogli msbrogli reopened this Oct 7, 2020
@andreabadesso
Copy link
Collaborator

andreabadesso commented Feb 2, 2021

Here is the estimated work for the breakdown tasks:

handle timelock balance
tx-proposal code (to send txs)
handle authority outputs
tx-proposal code (token actions) - [estimated work: 40h]
handle voided txs - [estimated work: 12h]
database transaction/rollback support and error handling - This will come "free" from the ORM if we decide to use SequelizeJS
database ORM (like sequelize) - [estimated work: 24h]
optimize database (add indexes and use binary columns) - [estimated work: 16h]
open API docs - [estimated work: 8h]
wallet sync strategy (websocket?) - [estimated work: 40h]
[Needs Design] wallet authentication - [estimated work includ. design: 40h]
test with large wallets (20k+ txs) - [estimated work: 6h]

@andreabadesso andreabadesso reopened this Feb 8, 2021
@andreabadesso andreabadesso linked a pull request Feb 11, 2021 that will close this issue
7 tasks
@andreabadesso andreabadesso reopened this Feb 23, 2021
This was linked to pull requests Feb 25, 2021
@andreabadesso andreabadesso reopened this Feb 26, 2021
@andreabadesso andreabadesso reopened this Mar 4, 2021
This was linked to pull requests Jun 1, 2021
@msbrogli msbrogli changed the title Implement the service [Epic] Wallet Service v1 Jun 1, 2021
@r4mmer r4mmer closed this as completed in #72 Jun 4, 2021
@andreabadesso andreabadesso reopened this Jun 5, 2021
@r4mmer r4mmer closed this as completed in #69 Jul 1, 2021
@r4mmer r4mmer reopened this Jul 1, 2021
@andreabadesso
Copy link
Collaborator

andreabadesso commented Jul 13, 2021

Q3 Planning

Q2 spill-overs

Total: 112h (~3 weeks, includ. current)

Q3

  • chore: database healthcheck to be able to check if state is consistent with the fullnode - 24h
  • feat: Multisig support on txProposalCreate - 32h
  • feat: Nano Contracts support - ?h
  • feat: Atomic Swap support - ?h

Q3 - Data Service

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